Open棟梁Project - マイクロソフト系技術情報 Wiki
目次 †
概要 †
SQL Server Analysis Services(SSAS:分析サービス)は、SQL Server の標準機能として搭
載されている、"データ分析" のためのサーバー機能
(自習書シリーズ「Analysis Services 多次元モデル入門」より引用)
- Analysis ServicesはAD(Active Directory)のユーザセキュリティを前提とするので、AD環境が必須
- 下記ビジネス インテリジェンス(BI)アプリケーション用の機能が用意されている。
- オンライン分析処理 (OLAP) 機能
リレーショナル データベースなどの外部データ ソースから、
集計したデータを含む多次元構造を設計、作成、および管理できる。
- データ マイニング機能
データ マイニング アプリケーション用に、さまざまな業界標準のデータ マイニング アルゴリズムを使用して、
外部データ ソースから構築するデータ マイニング モデルを設計、作成、およびビジュアル化できる。
- Excelのピボットテーブルのデータソースとして利用でき、リボンの「ピボットテーブルツール」、「フィールドリスト」でドラッグ&ドロップの操作だけで自由に分析軸を入れ替えたり、ドリルダウン(詳細を表示)をしたり、指定した値でフィルターしたり、などなど、高度なデータ分析を行うことができる
- Oracle や DB2 など、ほかのデータベース製品のデータをもとに OLAP キューブを作成することもできる
- Oracleに直接接続するのではなくSQL Serverでリンク サーバーにするケースもある
オンライン分析処理 (OLAP) 機能 †
- OLAP(Online Analytical Processing)について
- RDB(リレーショナル データベース)の生みの親でもある E.F.Codd 博士が生み出した言葉で、博士は「RDB は、基幹系処理を行うために理論化されたものであり、分析処理には向かない」と言って、分析処理に関する OLAP を提唱したのが語源 参考:wikiペディア
- SSASではOLAPを実現する仕組みとして以下の3つのモード用意している ※インストール時のオプションで設定し、変更はできない
- 多次元 OLAP (MOLAP)
- 集計された実体キューブを構築(コンパイルのイメージ)し、クライアントが参照。
- 直接キューブに対して、読出しと書込みの両方ができる。
- 分析時にデータソースにアクセスしないので、応答時間が速い。
- データを変更した場合、キューブの再構築が必要。
- リレーショナル OLAP (ROLAP)
- クライアントの要求に基づき、データソースにアクセスし、分析を開始する。
- データベースの性能がボトルネックになる。
- 実体キューブを構築しないので、データの変更を気にしなくて良い。
- ハイブリッド OLAP (HOLAP)
- MOLAP と ROLAP の属性を組み合わせたもの
- キューブは構築するが、構造だけでデータは格納しない(データのインデックスのみを保持)
- ※参考パーティションのストレージ モードおよび処理
動作モードについて †
- SSASの動作モードには以下の2つのモードがあり、「表形式(テーブル)モード」は2012で追加されたモード。インストール時にどちらかのモードを選択する必要があり、後から変えられない。動作モードによってモデル構造も異なる(「BI Semantic Model」
(BISM))。
- 多次元モード
- SQL Server 7.0 の OLAP Servicesの頃から提供されている成熟された技術(モード)
- データマイニング機能を利用できる
- スキル習得まで時間がかかる
- 「表形式(テーブル)モード:Tabular Mode」
- 2012から追加されたインメモリで動作する高速な処理エンジンモード
- PowerPivot? の処理エンジンを改良したものがサーバ上で動作するイメージ
- セルフBIを目指したコンセプトと言われている
- 参考
ロール †
アクセスセキュリティをロールで設定可能で、モデルによって設定箇所が異なる(サーバロールは同様?)
- 多次元モデル
- 大きく分けてサーバロール、データベースロールがあり、グループ - グループメンバ的な管理が可能
- オブジェクト毎に細かい設定ができ、例えばディメンションに対して見れるユーザと見れないユーザをロールによって制御することができる
- 参考
- テーブルモデル
- 多次元モデルと同じように設定可能。※ どこが違うのかは未調査
- 参考
多次元モデルでの基本的な作業のながれ †
・多次元モデルが前提
※ テーブルモデルは自習書:「Analysis Services によるインメモリ BI 入門」参照
・SQL Server Data Toolsを使用
・分析に適した接続可能な対象データベースがある
※ SSASのデータソースビューを使用して、ある程度SQL文で調整可能だが、ソースデータが整備されている方が望ましい
- Analysis Services 多次元モデル プロジェクトの作成
- SQL Server Data Tools(VisualStudio?)を起動し、プロジェクトを作成
- 「Analysis Services多次元およびデータマイニング プロジェクト」を選択、基本項目(プロジェクト名)などを入力
- データ ソースの設定
- キューブの元となるデータを格納しているデータベースサーバに対して接続の設定をする
- プロバイダを指定することによってOracleに接続する事も可能
- Windowsサーバにプロバイダを追加(インストール)する事によって他のデータベースの接続も理論的には可能 ※ 未検証
- データ ソース ビューの設定
- 基本的なビューのスキーマはウィザードで自動的に作成可能(キーがしっかり定義されていれば、インテリジェンスが自動でリレーションも作成する)
- 「テーブルの置換>名前付きクエリ」を実行すると、SQLエディタが表示されSQLを書くことができる(where句やjoinも普通に使用できるので、ここで大福帳的なデータを作成することも可能)
- 名前付き計算の追加
- 必要に応じて、テーブル内の項目同士を式を使って演算したカラムを作成
- ※ 単価 * 数量 で [受注金額] など
- OLAP キューブの作成
- キューブウィザードを使用して、メジャーやディメンションを大まかに定義
- ※ 「大まか」は語弊があるかもしれないが、詳細な設定は後で一つ一つ行う必要がある。
- 属性と階層の設定
- 分析軸となるディメンションの「属性」、「階層」を設定(設計)
- メジャーに対して、どの関連データの切り口で分析するか、どんな階層をもたせるかデザインする
- OLAP キューブの参照(利用)
- キューブの処理を実行すると、「MDX クエリ デザイナー」と呼ばれるツールでキューブを確認したり、ExcelのPivotTable?のデータソースとして接続することで利用できるようになる
(参考: 自習書:Analysis Services 多次元モデル入門・STEP 2. Analysis Services 多次元モデルの基本操作)
名前付き計算 と 計算メジャーについて †
- 名前付き計算はテーブルに設定してメジャーとして使用するが(※)、テーブルには設定せずにキューブ内に計算メジャーを作成し、同様な事ができる ※使用しないこともある
- 難易度高でパフォーマンスが悪いが、組込みの集計関数を使用して特殊な計算ができる
その他 †