SQL Server 2008 徹底検証シリーズ
大規模データ ウェアハウス実践ガイド(環境構築 - 詳細編)
Analysis Services の構築手順
© 2008 Microsoft Corporation. All rights reserved. 本書に記載した情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。Microsoft は絶えず変化する市 場へ対応しなければならないため、ここに記載した情報に対していかなる責務を負うものではなく、提示された情報の信憑性につい ては保証できません。 本評価ガイドは情報提供のみを目的としています。Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるもの ではありません。 すべての当該著作権法を遵守することはユーザーの責務です。Microsoft 書面による明確な許可なく、本書の如何なる部分について も、転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、機械的、複写、レコーディング、 その他)および目的であっても禁じられています。これらは著作権保護された権利を制限するものではありません。 Microsoft は、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。 Microsoft から書面によるライセンス契約が明確に供給される場合を除いて、本書の提供はこれらの特許、商標、著作権、またはそ の他の知的財産へのライセンスを与えるものではありません。
Microsoft、Windows、MSDN、Visual Studio、SQL Server は、米国および(または)その他の国において、Microsoft Corporation の登録商標または商標です。
Analysis Services の構築手順
この資料では、CQI-DWH(データ ウェアハウス)シナリオにおける、Analysis Services を利用した 多次元データベース(キューブ)の構築手順を詳しく説明します。 説明内容は、以下のとおりです。
目次
1.Analysis Services サーバーの設定 ... 4 1.1 Analysis Services サーバーの設定方法 4 1.2 設定項目 4 2.SSAS の構築ステップ ... 5 ステップ1.SSAS データベースの作成 6 ステップ2.データソースの設定 7 ステップ3.データソース ビューの設定 10 ステップ4.キューブの作成 13 ステップ5.ディメンションの修正と新規作成 16 ステップ6.作成したキューブの変更 29 ステップ7.キューブのストレージ デザイン設定 41 ステップ8.オブジェクトの処理 57 ステップ9.ロールの追加 591.Analysis Services サーバーの設定
1.1 Analysis Services サーバーの設定方法
Analysis Services(以下、SSAS)サーバーを設定するには、SQL Server Management Studio で、SSAS へ接続し、サーバーを右クリックして[プロパティ]を表示します。プロパティ画 面では、[すべての詳細プロパティを表示する]をチェックします。
1.2 設定項目
以下のパラメータをサーバーおよびハードウェア構成に応じて設定します。 パラメータ 設定内容 Datadir キューブを保存したいフォルダへ設定 Tempdir 処理、復元、その他の操作に使用する一時 ファイルを格納するフォルダへ設定。処理中にtemp として使用する領域 Threadpool¥process¥maxthread 512サーバーのハードウェア構成に応じて設定 → 既定値 ×(CPUコア数 / 2)へ設定 Threadpool¥query¥maxthread 80サーバーのハードウェア構成に応じて設定 → 既定値 ×(CPUコア数 / 2)へ設定2.SSAS の構築ステップ
SSAS の構築の流れは、次のとおりです。
1. SQL Server Business Intelligence Development Studio(BIDS)から、サーバーへ接続し て、データベースを作成 2. データソースの設定 キューブのデータソースとなるリレーショナル データベースへの接続情報を設定 3. データソース ビューの設定 キューブおよびディメンションで使用されるスキーマの論理モデル 使用するテーブル、ビューまたはクエリー結果セット 上記の間のリレーションシップ 4. キューブの作成 ウィザードにより、作成 ウィザードの中で、ディメンションも作成可能 5. ディメンションの修正、新規作成 キューブ作成ウィザードにより作成されたディメンションの修正 階層の作成と、属性リレーションシップの作成 Time ディメンションなどの新規作成(今回は新規作成なし) 6. 作成したキューブの変更 メジャーの作成 新規作成したディメンションの追加とリレーション設定 計算されるメンバの追加 前期比成長率/前年同月売上/前年同月顧客軒数 分析観点の設定(今回は設定なし) ユーザーごとに、参照できるメジャー , ディメンションを設定することが可能 7. キューブのストレージ デザインを設定 パーティション(パーティションを設定することで、大規模な環境でのパフォーマンスを向 上させることが可能) 集計(MOLAP の集計デザインを設定) 8. 集計処理 以降では、具体的な構築手順を詳しく説明します。
ステップ 1.SSAS データベースの作成
最初に、Business Intelligence Development Studio(以下、BIDS)から、Analysis Services サーバーへ接続して、Analysis Services データベースを作成します。 1. [スタート]メニューから BIDS を起動します。 2. [ファイル]メニューの[開く]から[Analysis Service データベース]をクリックしま す。 [新しいデータベースを作成する]を選択し、作成先のサーバー名を入力し、作成するデ ータベース名を決定します。
ステップ 2.データソースの設定
次に、キューブのデータソースとなるリレーショナル データベースへの接続情報を設定しま す。 1. データソースを右クリックして、[新しいデータソース]をクリックすると、データ ソース ウィザードが起動します。 2. 新規作成をクリックします。 3. サーバー名とデータベース名を選択します。新しいデータ接続が作成されました
4. データソースへ接続する際に使用する資格情報を選択します。
ステップ 3.データソース ビューの設定
データソース ビューは、キューブおよびディメンションで使用されるスキーマの論理モデル です。 使用するテーブル、ビューまたはクエリー結果セット 上記の間のリレーションシップ 設定手順 1. データ ソース ビューを設定するには、データ ソース ビューを右クリックして、[新しい データ ソース ビュー]をクリックします。 データ ソース ビュー ウィザードが立ち上がります。 2. 前のステップで作成したデータ ソースを選択します。 3. [列を一致させることにより、論理リレーションシップを作成する]にチェックを入れて、 [次へ]をクリックします。4. データソースへ含まれているテーブルのうち、必要なテーブルを選択して、[右向き矢印] ボタンをクリックします。
今回は、すべてのテーブルを使用するので、すべてのテーブルを右ペインの[含まれてい るオブジェクト]へ移動します。
6. 以上で、データ ソース ビューの作成が完了です。列名に基づいて自動的にリレーション シップが作成されています。
ステップ 4.キューブの作成
次にキューブを作成します。キューブは、ウィザードにより作成可能です。ウィザードの中で は、ディメンションも作成可能です。 1. キューブを右クリックして、[新しいキューブ]をクリックします。 これにより、キューブ ウィザードが立ち上がります。 2. [既存のテーブルを使用する]を選択します。 3. 前のステップで作成したデータ ソース ビューを選択します。4. 分析対象となるテーブルを[メジャー グループ テーブル]として選択します。
5. メジャー(集計対象)とする列を選択します。
このように、ディメンションもキューブ作成ウィザード内で作成可能です。 7. キューブ名に任意の名前を付けて、[完了]をクリックします。
ステップ 5.ディメンションの修正と新規作成
次に、キューブ作成ウィザードにより作成されたディメンションを修正します。具体的には、 次の作業を行います。 属性の設定 階層の作成 属性リレーションシップの作成 Mcalender の属性の Type を Time へ変更(後述の準加法メジャーを使用するため)
属性の設定
属性の Name Column を設定します(Name Column は、属性の表示名となります)。 1. ディメンションを修正するには、ソリューション エクスプローラから、修正したいディメ
ンションをダブル クリックします。
選択したディメンションのタブが開きます。
3. 属性のプロパティで NameColumn の[...]ボタンをクリックします。
4. [バインドの種類]で「列のバインド」を選択し、[基になる列]へ表示名として設定し たい列を選択します。
階層の作成
次に階層を作成します。 1. 階層を作成したいディメンションを選択します。ここでは、「M Calendar」(時間)ディメ ンションを選択しました。 2. 「年」を階層のフィールドへドラッグ&ドロップします。 これにより、新しい階層が作成されます。 3. <新しいレベル> へ「半期」をドラッグ&ドロップします。 4. 続いて、<新しいレベル> へ「四半期」をドラッグ&ドロップします。5. 最後に「月」をドラッグ&ドロップします。 6. 階層名を任意の名前へ変更します。 Tips: 属性リレーションシップについて 属性リレーションシップを適切に設定することで、集計のパフォーマンスを向上させることが 可能です。 属性リレーションシップは、初期状態では、キー属性(年月日)とその他の属性間に多対1 の リレーションシップが構築されています。この場合、このディメンションの属性を含むクエリ を発行する場合は、常に、データは主キーを使用して、属性ごとに グループ化しながら集計 されます。たとえば、「年」で集計を行う場合、その場で年ごとに年月日を分けられてグルー プ化されます。しかし、「年」の集計は、「半期」の合計から取得可能であるため、非効率です。 属性リレーションシップを次のように設定すると、集計のパフォーマンスを向上させることが 可能です。 ↓ 初期状態 適切に設定された状態
属性リレーションシップの設定手順
1. 属性リレーションシップを設定するには、[属性リレーションシップ]タブへ移ります。
2. 「月」から「四半期」へリレーションシップを作成します。
3. 同様に、「四半期」から「半期」へリレーションシップを作成します。
属性リレーションシップの種類の変更
次に、属性リレーションシップの種類を変更します。 1. 属性リレーションシップを右クリックして、[リレーションシップの種類]で[固定]を選 択します。 2. すべてのリレーションシップに対して、同様の設定を行います。 なお、リレーションシップ数が多い場合には、1 つずつ変更するのは大変なので、まとめて 選択して、プロパティから設定することも可能です。 Tips: リレーションシップの種類について リレーションシップの種類には、「固定」(Rigid)と「可変」(Flexible)があります(デフォ ルトは可変)。両者の違いは、ディメンションの更新処理時に、集計が維持されるかどうかで す。 右クリックして リレーションシップの種類を 固定 に設定する (リレーションシップの種類については後述) リレーションシップがたくさんあるときは 1 つずつ変更していると大変なので、 まとめて選択して、プロパティの RelationshipType を Rigid へ変更 (”固定” と同義)固定の場合の動作 ディメンションの更新処理を実行した場合に、集計が維持される リレーションシップが実際に変化した場合は、ディメンションの更新処理時にエラーと なる ディメンションの完全処理によって、リレーションシップの変更を反映 メンバの追加、メンバ名の変更では更新処理が可能 可変の場合の動作 ディメンションの更新処理を実行した場合に、集計が維持されない リレーションシップが実際に変化した場合は、ディメンションの更新処理時にすべての 集計が削除される。この場合は、関連するすべてのメジャー グループのインデックスの 処理を実行する必要がある メンバの追加、メンバ名の変更では更新処理時に集計は削除されない 固定の場合と比べて、キューブ アクセスでのオーバー ヘッドが大きい したがって、リレーションシップの種類は「固定」(Rigid)へ設定し、リレーションシップが 変更される際にディメンションの完全処理を実施することを推奨します。
属性の非表示の設定(AttributeHierarchyVisible)
次に、属性の非表示を設定します。属性を非表示へ設定するには、AttributeHierarchyVisible プロパティを False へ変更します。これを行うと、クライアントは、階層だけを利用したアク セスができるようになります。 1. 属性の非表示を設定するには、[ディメンション構造]タブへ戻り、すべての属性を選択し て、AttributeHierarchyVisible プロパティを False へ設定します。他のディメンションの設定
他のディメンションについても同様に、以下の設定を行います。 階層の作成 属性の Name Column の設定 属性リレーションシップの設定 他のディメンションの設定は、次のとおりです。 顧客ディメンション店舗ディメンション
時間ディメンションの属性変更
時間ディメンションのみ、各属性の Type を“Time”へ変更します(後述の準加法メジャー を使用するには、Time のディメンションが必須となるため)。 1. M Calendar(時間)ディメンションを開き、M Calendar を選択します。 2. プロパティ Type を Time へ変更します。 3. 属性の「月」を選択し、プロパティ Type を Months へ変更します。 時間ディメンションのみ、 Type を Time に変更します。 (準加法メジャーを使用するために “Time” のディメンションが 必須)4. 同様に、「四半期」の Type を Quarters へ変更します。
5. 「年」の Type を Years へ変更します。
6. 「年月日」の Type を Date へ変更します。
ステップ 6.作成したキューブの変更
次に、作成したキューブに対して、以下の変更を行います。 メジャー「カードポイント」の編集と、メジャー「顧客軒数」の作成 新規作成したディメンションの追加とリレーションシップ設定 計算されるメンバの追加 前期比成長率、前年同月売上、前年同月顧客軒数 分析観点の設定(今回は設定なし) ユーザーごとに、参照できるメジャーとディメンションを設定することが可能集計関数の加法性と AggregateFunction プロパティについて
AggregateFunction プロパティを使用すると、メジャーの集計動作を変更することができます。 集計関数の加法性(加法、準加法、非加法)によって、キューブのすべてのディメンションに わたってメジャーがどのように集計されるかが決まります。 Aggregation Function 一覧 Aggregation Function(集計関数)の一覧は、次のとおりです。 加法性 説明 加法メジャー 加法メジャーは、完全加法メジャーとも呼ばれ、メジャーが含まれているメジャー グループ内のすべてのディメンションに従って制限なく集計します。 加法メジャーには 、Sum とCount があります。 準加法メジャー 準加法メジャーは、メジャーが含まれているメジャー グループ内のすべてではなく、 一部のディメンションに従って集計します。 在庫数などを扱う場合に使用します。 非加法メジャー 非加法メジャーは、メジャーが含まれているメジャー グループ内のどのディメン ションに従っても集計しません。 利益率などの比率の値を扱う場合や、一意な数などを扱う際に使用します。 集計関数 加法性 戻り値 Sum 加法 すべての子メンバの値の合計を計算します。これが既定の集計関数です。 Count 加法 すべての子メンバの数を取得します。 Min 準加法 すべての子メンバの最低値を取得します。 Max 準加法 すべての子メンバの最高値を取得します。 DistinctCount 非加法 すべての一意の子メンバの数を取得します。 None 非加法 集計は行われず、ディメンションのリーフ メンバおよび非リーフ メンバのすべて の値が、メジャーが含まれているメジャー グループのファクト テーブルから直接 入力されます。ファクト テーブルからメンバの値を読み取ることができない場合 は、そのメンバの値はNull に設定されます。 ByAccount 準加法 勘定科目ディメンションのメンバの勘定科目の種類に割り当てられている集計関数 に従って集計します。勘定科目ディメンションがメジャー グループに存在しない 場合は、None 集計関数として扱われます。 AverageOfChildren 準加法 空ではないすべての子メンバの値の平均を計算します。 FirstChild 準加法 最初の子メンバの値を取得します。 LastChild 準加法 最後の子メンバの値を取得します。 FirstNonEmpty 準加法 空ではない最初の子メンバの値を取得します。 LastNonEmpty 準加法 空ではない最後の子メンバの値を取得します。準加法/非加法メジャーの作成 次に、メジャー「カードポイント」の編集と、メジャー「顧客軒数」を作成します。 「 カ ー ド ポ イ ン ト 」 は 、 集 計 値 で は な く 、 メ ジ ャ ー の 最 後 の 空 で な い メ ン バ を 返 す (LastNonEmpty)ように編集します。たとえば、年の値は、データを含む最後の月の値にな ります。使用例としては、在庫数などです。このようなメジャーを「準加法メジャー」と呼び ます。 「顧客軒数」は、集計値ではなく、ユニーク顧客数を返す(DistinctCount)ようにします。 このようなメジャーを「非加法メジャー」と呼びます。
メジャー「カードポイント」
(LastNonEmpty)の編集
1. メジャー「カードポイント」のプロパティを LastNonEmpty へ変更するには、キューブ 名をダブル クリックして、キューブ構造を開きます。 年 半期 四半期 月 2006 上期 下期 Q1 Q2 Q3 Q4 1 2 3 4 5 6 7 8 9 10 11 12 LastNonEmpty2. カードポイントをダブル クリックすると、[メジャーの編集]ウィンドウが表示されます。
[使用法]を「最後の空でない値」へ変更して、[基になる列]で「カードポイント」を選 択します。
3. カードポイントのプロパティ「AggregationFunction」が LastNonEmpty へ設定されま す。
4. LastNonEmpty を使用するために、Mcalender の「年月日」の AggregationUsage を Unrestricted へ変更します。
メジャー「顧客軒数」
(DistinctCount)の作成
次に、メジャー「顧客軒数」(DistinctCount)を作成します。DistinctCount のメジャーは、 加法メジャーとは、同じメジャー グループへ入れることができないので、別のメジャー グル ープが作成されます。 1. メジャーを右クリックして、新しいメジャーを選択して、新しいメジャー ウィンドウを開 きます。 2. [使用法]で「個別のカウント」を選択します。[基になる列]で「顧客ID」を選択します。 3. 新しいメジャーが作成されました。
メジャー グループ/メジャーの名前の変更
メジャー グループとメジャーの名前は、変更することができます。 1. メジャー グループを右クリックして、[名前の変更]を選択して、名前を変更できます。 ↓ここでは、メジャー グループ名を「売上」へ変更しました。 2. メジャー グループ名を「顧客軒数」へ変更しました。
FormatString による書式変更
FormatString プロパティでは、数値の表記を設定することが可能です(3 桁ごとにカンマで区 切りで表示するなど)。 1. プロパティ FormatString は、次のように変更できます。リレーションシップの設定
1. 次に、キューブに対して、新規作成したディメンションの追加とリレーションシップの設定 を行いますが、今回は、すべてウィザードで作成が完了しています。計算されるメンバの追加
次に、計算されるメンバとして、「前期比成長率」と「前年同月値」、「前年同月顧客軒数」を 追加します。 1. 計算されるメンバを追加するには、[計算]タブをクリックして、[新しい計算されるメンバ] ボタンをクリックします。 2. 名前へ「前期比成長率」と入力します。3. [テンプレート]タブをクリックします。[タイム シリーズ]から「前期比成長率」を選 択して、「式」 へドラッグ&ドロップします。
5. テンプレートを基に変更を加えます。 設定項目 説明 Target Dimension 時間ディメンションを設定します。 Target Hierarchy 時間ディメンションへ作成した階層を設定します。 Target Level “前年”同月成長率や“前年”同期成長率を出したい場合は、“年”を設定します。 Target Measure 比を出したい値の入っているメジャーを設定します。 Case
// Test for current coordinate being on (All) member.
When [M Calendar].[時間階層].CurrentMember.Level Is
[M Calendar].[時間階層].[(All)]
Then "NA"
// Test to avoid division by zero.
When IsEmpty ( ( ParallelPeriod ( [M Calendar].[時間階層].[年], 1, [M Calendar].[時間階層].CurrentMember ), [Measures].[売上金額] ) ) Then NULL Else ( ( [M Calendar].[時間階層].CurrentMember, [Measures].[売上金額]) -( ParallelPeriod ( [M Calendar].[時間階層].[年], 1, [M Calendar].[時間階層].CurrentMember ), [Measures].[売上金額] ) ) / ( ParallelPeriod ( [M Calendar].[時間階層].[年], 1, [M Calendar].[時間階層].CurrentMember ), [Measures].[売上金額] ) End
// This expression evaluates the difference between the value of the numeric
6. 前年同月売上を作成します。
KPI(主要業績評価指標)
KPI を作成すると、グラフィカルに業績指標の達成度などを表すことが可能です。 1. KPI を作成するには、[KPI]タブへ移り、[新しい KPI]ボタンをクリックします。
2. 前期比成長率 KPI を作成します。 KPI の各設定項目の意味は、次のとおりです。 設定項目 説明 値式 値式とは、物理的メジャー(売上高など)、計算されるメジャー(利益など)、 またはKPI 内で多次元式(MDX)を使用して定義される計算です。 目標式 目標式とは、値、または値に解決されるMDX 式です。目標式では、値式が定 義するメジャーのターゲットを定義します。たとえば、企業の経営層が目標と する売上または利益の増加額を目標式にすることができます。 状態式 状態式とは、目標式と比較した値式の現在の状態を評価するためにAnalysis Services で使用される MDX 式です。値は -1 ~ +1 の範囲で標準化されます (-1 は非常に悪い、+1 は非常に良い)。状態式は, グラフィカルに表示され、目標式と比べた値式の状態を簡単に判別することが できます。 傾向式 傾向式とは、目標式と比較した値式の現在の傾向を評価するためにAnalysis Services で使用される MDX 式です。傾向式を使用すれば、目標式と比べて値 式が改善しているか、それとも悪化しているかをビジネス ユーザーがすばや く判別できます。いずれか1 つのグラフィックを傾向式に関連付けることで、 ビジネス ユーザーは傾向をすばやく把握できるようになります。
分析観点の設定(今回は設定なし)
分析観点を利用すると、ユーザーのカテゴリ別に、参照できるメジャーとディメンションを設 定することが可能です。ただし、分析観点は、セキュリティ強化目的として使用するものでは なく、ユーザーの使用体験(利便性)をより良いものにするための機能です 分析観点についての詳細は、オンライン ブックの以下を参照してください。 http://msdn.microsoft.com/ja-jp/library/ms175338(sql.100).aspx 1. 分析観点を作成するには、[分析観点]タブを開いて、[新しい分析観点]をクリックします。 2. 分析観点へ含めるメジャーとディメンションを選択します。ステップ 7.キューブのストレージ デザイン設定
次に、キューブのストレージ デザインを設定します。ストレージのデザインには、MOLAP /HOLAP/ROLAP があり、パーティション単位で設定することが可能です。 パーティション パーティションを設定することで、大規模な環境でのパフォーマンスを向上させることがで きます。 ストレージのデザイン/集計 今回の検証では、MOLAP の集計デザインを設定します。 パーティションの作成手順 1. パーティションを作成するには、[パーティション]タブへ移動して、ソースを選択します。 パーティション ソース ウィンドウが立ち上がります。 2. [バインドの種類]を「クエリ バインド」へ変更します。3. Where 句を指定します。
4. ソースが変更されました
5. [新しいパーティション]をクリックして、パーティションを追加していきます。
パーティション ウィザードが起動します。
7. クエリを指定して行を制限するを選択します。
8. Where 句を入力します。
10. [既存のパーティションから集計のデザインをコピーする]を選択します。 11. 新しいパーティションが作成されました Tips: スクリプトからのパーティション作成 パーティションは、GUI からではなく、スクリプトからも作成することが可能です。パーテ ィションの数が多い場合には、スクリプトによって作成することをお勧めします。 同様の手順を踏んで、パーティションを作成することができます
キューブの集計デザインを変更
今回の検証では、MOLAP の集計デザインを変更しました。 1. 集計デザインを変更するには、[集計]タブへ移り、[集計のデザイン]ボタンをクリックし ます。 集計のデザイン ウィザードが起動します。 2. 集計の使用法を確認します。 3. [推定カウント]へ「Fact テーブルの行数」、 [パーティション数]へ「Fact テーブルの 1 パーティションの行数」を入力します。4. パフォーマンスの到達率を「100%」へ変更して、[開始]をクリックします。
5. [次へ]をクリックします。
7. 新しい集計が作成されました。
使用法に基づく最適化
集計は、「使用法に基づく最適化」ウィザードを利用して、過去のクエリ ログをもとに作成す ることも可能です。ただし、クエリ ログは、既定では取得されていないため、クエリ ログを 格納するデータベースを作成して、サーバー プロパティを変更しておく必要があります。 クエリ ログを格納するデータベースとテーブルの設定手順1. Management Studio を起動して、SQL Server へ接続します。データベースを右クリック して、新しいデータベースを選択します。
データベース名へ任意の名前(OlapQueryLogDB など)を設定します。 2. 新しいデータベースが作成されました。 3. 次に、オブジェクト エクスプローラの[接続]から[Analysis Services]を選択して、 Analysis Services へ接続します。 4. Analysis Services インスタンスを右クリックして、プロパティを選択します。 クエリ ログ を格納するように Analysis Services を設定します
「Log¥QueryLog¥QueryLogConnectionString」で「...」を選択して、前の手順で作成し たデータベースを選択します。[接続テスト]をクリックすると、該当データベースへの接 続を確認できます。 6. クエリ ログを格納するデータベースを設定できました。 7. クエリ ログの取得を行うように「Log¥QueryLog¥QueryLogTable」の設定を「True」 へ変更します。
8. Log¥QueryLog¥QueryLogSampling プロパティの設定
このプロパティの既定値は、「10」であり、10 回のサーバー クエリごとに 1 回がログ記 録されることを意味します。
以上の設定後、Excel などから Analysis Services のキューブへアクセスすると、実行さ れたクエリの履歴がデータベースへ保存されるようになります。この後、「使用法に基づく 最適化」ウィザードを利用すれば、保存されたクエリを基に集計を作成することができま す。 「使用法に基づく最適化」ウィザードの実行 1. 「使用法に基づく最適化」ウィザードを実行するには、BIDS(Business Intelligence Development Studio)の[集計]タブへ移り、[使用法に基づく最適化]ボタンをクリック します。
使用法に基づく最適化ウィザードが立ち上がります。 2. 条件を指定します。 3. ここでは、特定のユーザが実行したクエリに絞ってみます。 4. [次へ]をクリックします。 取得した クエリ ログ をもとに集計をデザインします テスト運用などで、様々なユーザが Analysis Services にアクセスし、そのクエリ ログを保存しておきます。 保存されたクエリ ログを開始日などの条件で抽出し、抽出したクエリ ログを元に集計を作成します。
5. いくつかのクエリが表示されるので、集計に使用したいクエリを選択します。
6. [推定カウント]へ「Fact テーブルの行数」、
8. [次へ]をクリックします。
使用法に基づいた集計のみがデザインされます。
9. [既存の集計へマージ]を選択し、[完了]をクリックします。
使用法に基づく最適化ウィザードで作成された集計は、既存の集計へマージすることも、 新しい集計デザインとして作成することも可能です。
10. 集計がマージされました
新しい集計デザインとして作成した場合
1. [新しい集計デザインの作成]を選択した場合は、次のようになります。
集計の追加 1. ツールバーの[詳細ビュー]をクリックして、集計のデザインを選択します。 既へ作成されている AggregationDesign を選択します。 2. 集計の詳細が表示されます。 3. 右クリックして、[新しい集計]をクリックします。 4. 新しい集計が作成されて、自由へ変更を行うことができます。 ↓
ステップ 8.オブジェクトの処理
Analysis Services データベースの完全処理の手順を以下に示します。 1. Analysis Services データベースを右クリックして、[処理]を選択します。 2. [データベースの処理]ダイアログが立ち上がります。 [設定の変更]をクリックします。 3. ディメンション キーのエラーへ移り、カスタム エラー構成を変更します。4. 実行をクリックします。
ステップ 9.ロールの追加
ロールを追加すると、ユーザー/グループに対してアクセス制御をかけることが可能になりま す。詳細は、別冊の「Reporting Services アクセス制御の実装手順」を参考にしてください。 1. ロールを追加するには、ロールを右クリックして、[新しいロール]をクリックします。 2. ロール名を入力します。 3. 「メンバシップ」で[追加]をクリックします。 アクセス制御したいユーザ/グループを選択します4. [オブジェクトの種類]をクリックします。
5. グループにチェックを入れます。
6. 追加したいグループを入力して、[名前の確認]をクリックします。
9. [キューブ]ページの設定は不要です。
なお、ドリルスルーを使用する場合には、[ローカル キューブ/ドリルスルー]で「ドリ ルスルー」へ変更します。
11. [ディメンション]ページの設定は不要です。
12. [ディメンション データ]ページへ移動します。このページでは、指定したユーザーが 使用できるディメンションの項目を設定します。
14. アクセス制御したいディメンションを選択します。 15. [すべてのメンバの選択を解除する]を選択します。 16. [詳細設定]タブで、[表示部分の合計を表示する]を選択します。 特定のメンバだけを見せたい、という要 件の場合、全てのメンバの選択を解除す るようにしておかないと、ディメンション (階層)に新しいメンバが加わった際に、 そのメンバを使用できるようになってしま うため、ここですべてのメンバの選択を 解除するようにしておきます。 こうしておくことで、新しく加わったメンバ を使用できないようにすることができます
17. [マイニング構造]ページの設定は不要です。 以上 表示部分の合計を表示する、に チェックを入れておくことで、この ディメンションを分析軸として使 用していない場合にも、選択した メンバのみの集計が行われるよ うになります