クエリから返されるデータを正しくフィルター処理せずにファクト ディメンションによってファクト データをディメンション化すると、クエリのパフォーマンスが低下する可能性があります。 これを回避するために、返される行の合計数を制限するドリルスルー アクションを定義できます。 これにより、クエリのパフォーマンスが大幅に向上します。
このトピックのタスクでは、インターネット経由で顧客に販売の注文の詳細情報を返すドリルスルー アクションを定義します。
ドリルスルー アクションのプロパティの定義
Analysis Services チュートリアル キューブのキューブ デザイナーで、[ アクション ] タブをクリックします。
[ アクション] タブには、いくつかのペインが含まれています。 タブの左側には、[ アクション オーガナイザー ] ウィンドウと [ 計算ツール ] ウィンドウがあります。 これら 2 つのペインの右側にあるペインは、アクション オーガナイザー ウィンドウで選択されたアクションの詳細を含む [表示] ウィンドウです。
次の図は、キューブ デザイナーの [アクション ] タブを示しています。
[ アクション ] タブのツール バーで、[ 新しいドリルスルー アクション ] ボタンをクリックします。
空白のアクション テンプレートが表示ウィンドウに表示されます。
[ 名前 ] ボックスで、このアクションの名前を
Internet Sales Details Drillthrough Actionに変更します。メジャーグループメンバー リストで インターネット販売 を選択します。
[ドリルスルー列] ボックスの [ディメンション] の一覧で [インターネット販売注文の詳細] を選択します。
[ 返品列 ] ボックスの一覧で、[ 品目の説明 ] チェック ボックスと [ 注文番号 ] チェック ボックスをオンにし、[OK] をクリック します。 次の図は、この手順のこの時点で表示されるアクション テンプレートを示しています。
次の図に示すように、[ 追加のプロパティ ] ボックスを展開します。
[ 最大行数 ] ボックスに「
10」と入力します。[ キャプション ] ボックスに「
Drillthrough to Order Details...」と入力します。これらの設定により、返される行数が制限され、クライアント アプリケーション メニューに表示されるキャプションが指定されます。 次の図は、[ AdditionalProperties ] ボックスのこれらの設定を示しています。
ドリルスルー アクションを使う
[ ビルド ] メニューの [ Analysis Services チュートリアルの配置] をクリックします。
デプロイが正常に完了したら、Analysis Services チュートリアル キューブのキューブ デザイナーの [ ブラウザー ] タブをクリックし、[ 再接続 ] ボタンをクリックします。
Excel を起動します。
[Internet Sales-Sales Amount] メジャーを [値] 領域に追加します。
Customer Geography ユーザー定義階層を Location フォルダー内の Customer ディメンションから Report Filter 領域に追加します。
ピボットテーブルの Customer Geography で、1 人の顧客を選択するフィルターを追加します。 すべての顧客を展開し、オーストラリアを展開し、クイーンズランドを展開し、ブリスベンを展開し、4000を展開し、Adam Powellにチェックを入れて、OKをクリックします。
Adventure Works Cycles による Adam Powell への製品の売上合計がデータ領域に表示されます。
売上金額を右クリックし、[ 追加アクション] をポイントして、[ 注文の詳細へのドリルスルー] をクリックします。
Adam Powell に出荷された注文の詳細は、次の図に示すように、 データ サンプル ビューアーに表示されます。 ただし、注文日、期限、出荷日など、追加の詳細も役立ちます。 次の手順では、これらの詳細を追加します。
Excel を閉じる/
ドリルスルー アクションの変更
ディメンション インターネット販売注文の詳細 のディメンションデザイナーを開きます。
このディメンションに対して定義されている属性は 3 つだけであることに注意してください。
[ データ ソース ビュー ] ウィンドウで、開いている領域を右クリックし、[ すべてのテーブルの表示] をクリックします。
[ 書式 ] メニューの [ 自動レイアウト ] をポイントし、[ ダイアグラム] をクリックします。
Data Source View ペインの開いている領域を右クリックして、InternetSales (dbo.FactInternetSales) テーブルを見つけます。 次に、[ テーブルの検索 ] をクリックし、[ InternetSales ] をクリックし、[ OK] をクリックします。
次の列に基づいて新しい属性を作成します。
注文日キー
DueDateKey
出荷日キー
Order Date Key 属性の Name プロパティを
Order Dateに変更し、[名前列] プロパティの参照ボタンをクリックし、[名前列] ダイアログ ボックスでソース テーブルとして [日付] を選択し、ソース列として [SimpleDate] を選択します。 OK をクリックします。期限キー属性の Name プロパティを
Due Dateに変更し、Order Date Key 属性と同じメソッドを使用して、この属性の Name Column プロパティを Date.SimpleDate (WChar) に変更します。Ship Date Key 属性の Name プロパティを
Ship Dateに変更し、この属性の Name Column プロパティを Date.SimpleDate (WChar) に変更します。Analysis Services チュートリアル キューブのキューブ デザイナーの [アクション] タブに切り替えます。
[ ドリルスルー列 ] ボックスで、チェック ボックスをオンにして次の列を [戻り列 ] リストに追加し、[OK] をクリック します。
注文日
期日
発送日
次の図は、選択されているこれらの列を示しています。
変更されたドリルスルー アクションの確認
[ ビルド ] メニューの [ Analysis Services チュートリアルの配置] をクリックします。
デプロイが正常に完了したら、Analysis Services チュートリアル キューブのキューブ デザイナーの [ ブラウザー ] タブに切り替えて、[ 再接続 ] ボタンをクリックします。
Excel を起動します。
インターネット Sales-Sales 金額を[値]領域に配置し、顧客の地域を[レポート フィルター]に設定して、ピボットテーブルを再度作成する。
すべての顧客、オーストラリア、メルボルン、ブリスベン、4000、Adam Powell から選択するフィルターを追加します。
[ インターネット Sales-Sales 金額 データ] セルをクリックし、[ 追加アクション] をポイントして、[ 注文詳細へのドリルスルー] をクリックします。
Adam Powell に出荷されたこれらの注文の詳細は、一時的なワークシートに表示されます。 これには、次の図に示すように、品目の説明、注文番号、注文日、期限、出荷日の情報が含まれます。
次のレッスン
こちらもご覧ください
アクション (Analysis Services - 多次元データ)
多次元モデルのアクション
ディメンションリレーションシップ
ファクト リレーションシップの定義
ファクト リレーションシップとファクト リレーションシップの特性を定義する