• 検索結果がありません。

配置されたキューブを参照するにはキューブ ブラウザを使用します。

1. キューブ デザイナで [ブラウザ ] タブを選択します。

キューブ ブラウザの [メタデータ ] ペインから選択された項目を各フィールドにドラッグ アンド ドロップすることで、クロス 集計表を定義できます。メジャーは、データ領域にドラッグ アンド ドロップします。ディメンションの属性、および階層は、

行領域、または列領域にドラッグ アンド ドロップします。また、[ サブキューブ ] ペインや フィルタ領域を使用して表示す るデータを制限することができます。

[ メタデータ ] ペイン

データ領域

メジャー ( 値 ) をセット 属性、または階層をセット行領域

属性、または階層をセット列領域 フィルタ領域

属性値を指定

[ サブキューブ ] ペイン

2. [メタデータ ] ペインの [Measures] フォルダを展開します。

人数と定員数というメジャーが確認できます。

3. 人数メジャーを選択し、データ領域 ([ここに詳細のフィールドをドロップします]と書かれた箇所 ) にドラッグ アンド ドロッ プします。

ドラッグ アンド ドロップ

4. [メタデータ] ペインの [ 時間 ] ディメンションを展開表示して [ 年 - 月 階層 ] を選択して、列領域 ([ここに列のフィー ルドをドロップします ] と書かれた箇所 ) にドラッグ アンド ドロップし、2009 年を展開表示します。

2009 年 1 月から 6 月までの半年分の人口数の推移を確認できます。総計、および小計セルに「844」という数値 がありますが、これは 2009 年 1 月から 6 月までの人口数が加算された値です。人口数は区画や年齢ごとに加算集 計する必要はありますが、時系列に対して合計を算出することは意味がありません。

Analysis Services プロジェクトでは、メジャーを定義すると既定で SUM 集計関数が使用されます。SUM を使用して 集計されるメジャーは「加法メジャー」と呼ばれます。メジャーの [AggregationFunction] プロパティを変更して、時系 列の場合は、加算しないように変更することができます。そのような特殊なメジャーのことを「準加法メジャー」と呼びます。

メジャーの [AggregationFunction] プロパティには、以下の値が設定できます。

説明

Sum ( 既定値 ) メジャーは Sum 関数を使用して加算集計される

Count メジャーは Count 関数を使用して件数が集計される

Min メジャーは Min 関数を使用して最小値を返す

Max メジャーは Max 関数を使用して最大値を返す

DistinctCount メジャーは DistinctCount 関数を使用して重複しない値の件数が集計される

None メジャーは集計されない

AverageOfChildren 子レベルの平均を集計して返す

FirstChild 最初の子メンバを返す

LastChild 最後の子メンバを返す

FirstNonEmpty 最初の空でないメンバを返す LastNonEmpty 最後の空でないメンバを返す

5. キューブ デザイナで [ キューブ構造 ] を選択します。[メジャー ] 領域のツリーを展開し、[Preschool Dwh Cube] - [Fact 人数 ] - [ 人数 ] を右クリックして [ プロパティ] を選択します。

6. [ 人数 ] メジャーの [AggregationFunction] プロパティを「Sum」から「LastNonEmpty」に変更します。

この設定により人数メジャーは、総計、および小計セルの値に対しては、時間ディメンションで指定された時間間隔で 加法集計するのではなく、時間間隔の最後の期間の人数をセットするように変更されます。

7. 同様にして [Fact 定員 ] の [ 定員数 ] メジャーを選択して [AggregationFunction] プロパティを「Sum」から

「LastNonEmpty」に変更します。

8. ここまでの変更内容をサーバーに配置するために、Business Intelligence Development Studio の [ビルド ] メ ニューから [Preschool Cube の配置 ] を選択します。

9. 配置が完了したら、キューブ デザイナで [ブラウザ ] タブを選択します。

10. 配置が完了したキューブに再接続するために [ キューブ ] メニューから [ 再接続 ] を選択します。

11. 総計、および小計セル値を確認すると加法集計されていないことがわかります。

12. 次に [メタデータ ] ペインの [ 住民情報 ] ディメンションを展開表示して [ 区画名 - 年齢 階層 ] を選択して、行領 域の [ ここに行のフィールドをドロップします ] と書かれた場所にドラッグ アンド ドロップします。

これにより、区画ごとの人口数の推移が確認できます。

13. 区画名をドリルダウンすることにより、年齢別の人数を確認することもできます。

今回の分析シナリオでは、園児の人数の推移に着目する必要があります。フィルタ領域を使用して、園児の人数のみ を表示するように切り替えます。

14. [メタデータ ] ペインの [ 住民情報 ] ディメンションから [ 園児フラグ ] 属性を選択して、フィルタ領域の ([ ここにフィ ルタを設定するフィールドをドロップします ] と書かれた場所 ) にドラッグ アンド ドロップします。

15. ドロップした [ 園児フラグ ] 属性を展開し、「-1」のみを選択します。

これにより 0 歳から 5 歳までの人数の推移が確認できます。なお、この手順書で作成したキューブには、最小限のテ スト データのみがロードされているため、キューブで表示される集計値も小さい数になっています。

16. ツールバーにある [ 結果をクリア ] アイコンをクリックして、データ領域と行領域に表示されている内容をクリアします。

17. 次に保育園の定員数を表示するため、下表に従い、各領域にメジャーと階層をドラッグ アンド ドロップします。

このクロス集計表により、保育園の定員数が確認できます。

ここまでは、Business Intelligence Development Studio から Analysis Services プロジェクトを作成し、各種ウィザー ド、およびデザイナを使用して OLAP キューブ構造を定義し、SQL Server 2008 Analysis Services に配置する手

順を説明しました。

ドロップする領域 ドロップする項目

[ 詳細 ] [Fact 定員 ] メジャーグループの [ 定員数 ] メジャー [ 行 ] [ 保育園 ] ディメンションの [ 区画名 - 保育園 階層 ] [ 列 ] [ 時間 ] ディメンションの [ 年 - 月 階層 ]

1

4. キューブへのアクセス許可

Analysis Services に配置されたキューブに対してクライアントは、Windows 認証で接続します。Analysis Services に対して管理者権限を持つユーザーであれば既定でアクセスできますが、一般ユーザーはキューブへのアクセス権限は 付与されていません。しかし、キューブに対するアクセス権限のない一般ユーザーは接続することができません。ここで は管理権限のない Windows ユーザーに対するアクセス許可の設定方法を説明します。

検証用のユーザーとグループ アカウントの作成

まず、VBScript を実行して検証用の [ ローカル コンピュータ ] にユーザーとグループを作成します。

1. [エクスプローラ] を起動し、C:\Local Government Analytical Project\vbs フォルダにある [Create_Local_Acount.

vbs] を右クリックして表示されるメニューから [ 編集 ] を選択します。

2. 以下の VBScript コードが確認できます。

Option Explicit

Dim strUsername1,strUsername2,strPassword Dim strGroupname

Dim strComputername Dim objWshNetwork Dim colAccounts Dim objUser1,objUser2 Dim objGroup

strUsername1 = "Suzuki"

strUsername2 = "Nishi"

strPassword = "P@ssw0rd"

strGroupname = "Preschool_dwh_cube_reader"

Set objWshNetwork = CreateObject("WScript.Network") strComputername = objWshNetwork.Computername

Set colAccounts = GetObject("WinNT://" & strComputername & "")

' ユーザー「Suzuki」を作成

Set objUser1 = colAccounts.Create("user", strUsername1) objUser1.SetPassword strPassword

objUser1.SetInfo If Err.Number = 0 Then

MsgBox " ユーザー「Suzuki」を作成しました "

End if

' ユーザー「Nishi」を作成

Set objUser2 = colAccounts.Create("user", strUsername2) objUser2.SetPassword strPassword

objUser2.SetInfo

If Err.Number = 0 Then

MsgBox " ユーザー「Nishi」を作成しました "

End if

' Preschool_dwh_cube_reader ローカルグループを作成

Set objGroup = colAccounts.Create("group", strGroupname) objGroup.SetInfo

If Err.Number = 0 Then

MsgBox " Preschool_dwh_cube_reader ローカルグループを作成しました "

End if

'Suzuki を Preschool_dwh_cube_reader ローカルグループに登録 objGroup.Add (objUser1.ADsPath)

objGroup.SetInfo

If Err.Number = 0 Then

MsgBox " Suzuki を Preschool_dwh_cube_reader ローカルグループに登録しました "

End if

この VBScript コードは、[ ローカル コンピュータ ] に「Suzuki」と「Nishi」という名前のユーザーと「Preschool_d wh_cube_reader」という名前のローカルグループを作成します。また、ユーザー「Suzuki」は「Preschool_dwh_cub e_reader」グループに登録されます。

1. メモ帳の [ファイル ] メニューから [メモ帳の終了 ] を選択して閉じます。

2. エクスプローラから C:\Local Government Analytical Project\vbs フォルダにある [Create_Local_Acount.vbs]

をダブル クリックして実行します。

3. [メッセージ ボックス ] が表示されます。確認しながら [OK] ボタンをクリックして進めます。

[メッセージ ボックス ] は 4 回、表示されます。

関連したドキュメント