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

Analysis Services テーブル モデルのサポート(xVelocity)

SQL Server 2008 R2 では、PowerPivot で採用されたインメモリのカラムベース エンジン

「VertiPaq」で動作する Analysis Services は「PowerPivot for SharePoint」としてイン ストールした場合にのみ利用することができましたが、SQL Server 2012 からは、VertiPaq エ ンジンが進化して、「xVelocity」という名称へ変更され、単体でも動作させることができるよう になりました。SQL Server 2012 では、インストール時に以下の画面のように「表形式モード」

(Tabular Mode)を選択することで、単体の Analysis Services エンジンとして xVelocity モ ードで動作させることが可能です。

また、SQL Server Data Tools(以前のバージョンの Business Intelligence Development Studio)では、新規プロジェクトの作成時に、次のように「Analysis Services 表形式プロジェ クト」(Tabular Project)を選択することで、xVelocity モードの Analysis Services へ配置可 能なデータベース(テーブル モデル)を作成できるようになりました。

以下の画面は、テーブル モデルのプロジェクトを作成しているときの様子です。

表形式モード(Tabular Mode)選択すると xVelocityモードのAnalysis Services

(インメモリ BI)としてインストール可能。

新モデル テーブル モデル(Tabular Model)

従来型の MOLAP/

ROLAP キューブ

PowerPivot ファイルから テーブル モデルを作成する

ことも可能

71

テーブル モデルは、PowerPivot for Excel と同じような操作性で作成することができます。ま た、PowerPivot で作成したファイルをインポートして、テーブル モデルを作成することも可能 です。

テーブル モデルの最大の特徴は、「インメモリでの動作」と「ロールを利用した行レベルのセキュ リティ」、「パーティショニング」機能が利用できる点です。これにより、セキュリティ強化やビッ グデータへの対応、性能向上を実現することも可能になりました。

BI Semantic Model(BISM)

SQL Server 2012 における Analysis Services のモデル構造は、BI Semantic Model(BISM)

と呼ばれるようになりました。

BI Semantic Model は、SQL Server 2012 から新しく提供された「テーブル モデル」(Tabular Model)と、従来型の「UDM:Unified Dimensional Model、統合ディメンショナル モデル」

と呼ばれていたモデルを合わせて、2 つのモデルの総称として利用されています。また、これに伴 って UDM という名称はなくなりました。

Analysis Services テーブル モデル

(Tabular Model)

BI Semantic Model(BISM)

テーブル モデル

(Tabular Model) 従来型の MOLAP/ROALP

・SQL Server 2012 からの新機能

・xVelocity エンジン

(インメモリ エンジン)

・SQL Server 2005 から提供された UDM(統合ディメンショナル モデル)

・MOLAP、ROLAP、プロアクティブ キャッシュ

72

テーブル プロジェクトの作成(PowerPivot ファイルからのインポート)

ここでは、既存の PowerPivot ファイル(これまでの手順で利用してきた NorthJ.xlsx ファイ ル)をインポートして、テーブル プロジェクト(テーブル モデル)を作成してみましょう。

1. まずは、[スタート]メニューの[すべてのプログラム]から[Microsoft SQL Server 2012]

の[SQL Server Data Tools]をクリックして、SQL Server Data Tools(以前のバージ ョンの Business Intelligence Development Studio)起動します。

2. 初めて SQL Server Data Tools を起動する場合は、次のように[既定の環境設定の選択]ダ イアログが表示されます。

[既定の環境設定を選択してください]で任意の設定を選択(画面では「全般的な開発設定」

を選択)して、[Visual Studio の開始]ボタンをクリックします。

3. SQL Server Data Tools が起動したら、[スタート ページ]の「新しいプロジェクト」をク リックして、新しいプロジェクトを作成します。

1

2 1

73

[新しいプロジェクト]ダイアログでは、[インストールされたテンプレート]から「ビジネ ス インテリジェンス」の「Analysis Services」を選択して、「PowerPivot からインポー ト」を選択します。[名前]へ任意のプロジェクト名(画面は TabularProject1)、[場所]

へ任意の保存場所を指定して、[OK]ボタンをクリックします。

4. 初めて、表形式プロジェクトを作成する場合は、次のように[ワークスペースと配置サーバー の構成]ダイアログが表示されます。

[既定のサーバー]へ Analysis Services のサーバー名(画面は、moon)を入力して、[OK]

ボタンをクリックします。なお、この設定を行うには、表形式モード(Tabular Mode)でイ ンストールした Analysis Services サーバーが必要になります。

5. 次に、[開く]ダイアログが表示されて、インポートする PowerPivot ファイルの選択が求め られるので、サンプル スクリプト内の「NorthJ.xlsx」ファイルを選択して、[開く]ボタン をクリックします。

1

2

3

4

5

2 1

74

これで PowerPivot ファイルをもとにしたテーブル プロジェクト(Tabular Project)が作 成されます。

6. 次に、SQL Server への接続情報を編集するために、次のようにツールバーの[既存の接続]

ボタンをクリックします。

[既存の接続]ダイアログが表示されたら、[編集]ボタンをクリックします。

7. [接続の編集]ダイアログでは、[サーバー名]に SQL Server の名前(画面は moon)、[デ ータベース名]に「NorthwindJ」データベースを選択して、[権限の借用]ボタンをクリッ クします。

2 1

3

1

2

75

[権限借用情報]ダイアログが表示されたら、[特定の Windows ユーザー名とパスワード]

を選択して、[ユーザー名]と[パスワード]に SQL Server へ接続可 能なユーザー

(NorthwindJ データベースへの接続/読み取り可能なユーザー)を指定して、[OK]ボタ ンをクリックします。なお、この手順を実行するには、事前にサンプル スクリプト内の NorthwindJ データベースをアタッチしておく必要がありますが、その手順については付録 へ記載しています。

8. [接続の編集]ダイアログへ戻ったら、[保存]ボタンをクリックします。

[既存の接続]ダイアログへ戻ったら、[閉じる]をクリックしてダイアログを閉じます。

9. これで、テーブル プロジェクトから SQL Server 上のNorthwindJ データベースへ接続で きるようになって、次のように「受注明細」テーブルなどのデータを参照できるようになりま す。

1

3 2

4

5

1

2

76

また、この画面は、PowerPivot と同じように操作することができ、テーブル名のタブをクリ ックして(上画面は「受注明細」タブをクリックしているところ)、各テーブルの設定を行う ことができます。PowerPivot 上で作成した合計(SUM)や、個別のカウント(Distinct Count)

などもすべてインポートされていることを確認できます。

10. 次に、画面右下の[ダイアグラム]ボタンをクリックし、ダイアグラム ビューを表示します。

ダイアグラム ビューを利用すれば、リレーションシップがグラフィカルに表示されるので、

1

PowerPivot上で設定した合計 などが設定されていることを確認

1

ダイアグラム ビュー で表示される

77

大変便利です。また、リレーションシップを新しく作成する場合にも、ドラッグ&ドロップだ けで設定することが可能です。

ロールの作成(セキュリティの強化)

次に、ロールを作成して、特定のデータのみしか参照できないユーザーを作成してみましょう。

1. ロールを作成するには、次のようにツールバーの[ロール]ボタンをクリックします。

[ロール マネージャー]ダイアログが表示されたら、[新規作成]ボタンをクリックします。

2. [名前]に任意のロール名(画面は Role1)を入力し、[権限]で「読み取り」を選択します。

[行フィルター]タブでは、セキュリティ強化のための任意のフィルターを設定できますが、

ここでは、「=[区分コード]=1」と入力して、区分コードが 1 番(飲料区分)の商品にしかア クセスできないように設定します。

1

2

1

4 2

3

78

3. 次に、[メンバー]タブを開いて、[追加]ボタンをクリックします。

ロールへ含めたい任意の Windows ユーザー(画面は Test ドメインの User1 ユーザー)

を選択して、[OK]ボタンをクリックします。これで、このロールに含めたユーザーは、区分 コードが 1 番の商品だけしか参照できないようになります。

Analysis Services への配置

次に、テーブル モデル(Tabular Model)を Analysis Services 上に配置してみましょう。

1. Analysis Services へ配置を行うには、次のように[ビルド]メニューから[ソリューション の配置]をクリックします。

これにより、[配置]ダイアログが表示されて、進行状況が表示されます。すべての[状態]

が「成功」と表示されれば、配置が完了です。確認後、[閉じる]ボタンをクリックします。

なお、配置に失敗する場合は、配置サーバーを正しく設定してあるかどうかを確認してみてく ださい。配置サーバーの名前を設定するには、プロジェクトのプロパティを開いて、[配置サ

1

2

3

4

5

1

1

79

ーバー]の名前をインスタンス名へ変更します。

2. 次に、配置されたテーブル モデルを確認するために、Management Studio ツールを起動 します。

3. 起動後、次のように[サーバーへの接続]ダイアログが表示されたら、[サーバーの種類]で

「Analysis Services」を選択して [サーバー名]へ Analysis Services サーバーの名前(画 面は MOON)を入力し、[接続]ボタンをクリックします。

4. 接続が完了すると、次のように配置されたテーブル モデルを確認することができます。

プロジェクト名(今回は既定値の TabularProject1 を利用)と同じ名前のデータベースが 作成されて、利用しているテーブル名が一覧されていることを確認できます。

データの参照(MDX クエリ デザイナー)

次に、テーブル モデルのデータを Management Studio の MDX クエリ デザイナー(グラフィ カルな操作で MDX クエリの実行が可能なツール)で参照してみましょう。

1. MDX クエリ デザイナーを起動するには、次のようにデータベースを右クリックして、[参照]

をクリックします。

1

2

テーブル名が 一覧される プロジェクト名と同じ名前の データベースが作成されている

プロジェクト名に_ユーザー名_id が付いたデータベースは、SSDT で作業して いるときに利用される一時的なデータベース