テーブル モデル データ アクセス
Analysis Services のテーブル モデル データベースは、多次元モデルからデータまたはメタデータを取得するときとほぼ同じクライアント、インターフェイス、および言語でアクセスできます。 詳細については、「 多次元モデル データ アクセス (Analysis Services - 多次元データ)」を参照してください。
このトピックでは、テーブル モデルを操作するクライアント、クエリ言語、およびプログラム インターフェイスについて説明します。
クライアント
次の Microsoft クライアント アプリケーションは、Analysis Services テーブル モデル データベースへのネイティブ接続をサポートしています。
Excel
テーブル モデルのデータベースには Excel から接続できます。Excel にあるデータの視覚エフェクトと分析機能を使用してデータを操作することができます。 データにアクセスするには、Analysis Services のデータ接続を定義し、表形式サーバー モードで動作するサーバーを指定してから、使用するデータベースを選択します。 詳細については、「 SQL Server Analysis Services のデータに接続する、または SQL Server Analysis Services のデータをインポートする」を参照してください。
Excel は、SQL Server Data Tools (SSDT) で表形式モデルを参照する場合にも推奨されるアプリケーションです。 このツールには、 [Excel で分析] というオプションがあります。このオプションを選択すると、新しい Excel インスタンスが起動して Excel ブックが作成され、そのブックからモデル ワークスペース データベースへのデータ接続が開きます。 Excel でテーブル モデル データを参照する際は、モデルに対するクエリが、Excel PivotTable クライアントを使用して実行される点に注意してください。 したがって、Excel ブック内の操作は、DAX クエリではなく、MDX クエリとしてワークスペース データベースに送信されます。 SQL Profiler などの監視ツールを使用してクエリを監視したとき、プロファイラー トレースに表示されるのは DAX ではなく MDX です。 Excel で分析機能の詳細については、「Excel で分析 (SSAS 表形式)」を参照してください。
Power View
Power View は、SharePoint 2010 環境で実行されるReporting Services レポート クライアント アプリケーションです。 データ探索、クエリ デザイン、プレゼンテーション レイアウトが、アドホック レポート環境に統合されています。 Power View では、テーブル モードで実行されている Analysis Services のインスタンスでモデルがホストされているか、DirectQuery モードを使用してリレーショナル データ ストアから取得されているかに関係なく、テーブル モデルをデータ ソースとして使用できます。 Power View で表形式モデルに接続するには、サーバーの場所とデータベース名を含む接続ファイルを作成する必要があります。 Reporting Services の共有データ ソースまたは BI Semantic Model の接続ファイルは SharePoint で作成することができます。 BI セマンティック モデル接続の詳細については、「 PowerPivot BI セマンティック モデル接続 (.bism)」を参照してください。
Power View クライアントは、指定したデータ ソースに要求を送信することによって、指定されたモデルの構造を決定します。このスキーマは、クライアントがモデルに対するクエリをデータ ソースとして作成し、データに基づいて操作を実行するために使用できるスキーマを返します。 データのフィルター処理、計算または集計の実行、および関連するデータの表示を行うための Power View ユーザー インターフェイスでの後続の操作は、クライアントによって制御され、プログラムで操作することはできません。
Power View クライアントによってモデルに送信されるクエリは DAX ステートメントとして発行されます。これは、モデルにトレースを設定することで監視できます。 クライアントは、概念スキーマ定義言語 (CSDL) に従って提示される初期スキーマ定義をサーバーに要求しますが、その際にも、サーバーに要求を送信します。 詳細については、「CSDL Annotations for Business Intelligence (CSDLBI)」を参照してください。
SQL Server Management Studio
SQL Server Management Studioを使用して、表形式モデルをホストするインスタンスを管理し、その中のメタデータとデータに対してクエリを実行できます。 モデルやモデル内のオブジェクトの処理、パーティションの作成と管理、さらには、データ アクセスを管理するためのセキュリティの設定を行うこともできます。 詳細については、次のトピックを参照してください。
SQL Server Management Studioの MDX クエリ ウィンドウと XMLA クエリ ウィンドウの両方を使用して、表形式モデル データベースからデータとメタデータを取得できます。 ただし、次の制限事項に注意してください。
DirectQuery モードで配置されているモデルに対しては、MDX および DMX を使用したステートメントはサポートされません。したがって、DirectQuery モードのテーブル モデルに対するクエリを作成する必要がある場合は、 [XMLA クエリ] ウィンドウを使用する必要があります。
[クエリ] ウィンドウを開いた後で、[XMLA クエリ] ウィンドウのデータベース コンテキストを変更することはできません。 そのため、別のデータベースまたは別のインスタンスにクエリを送信する必要がある場合は、SQL Server Management Studioを使用してそのデータベースまたはインスタンスを開き、そのコンテキスト内で新しい XMLA クエリ ウィンドウを開く必要があります。
多次元ソリューションの場合と同様に、Analysis Services テーブル モデルに対してトレースを作成できます。 このリリースでは、Analysis Services には、メモリ使用量、クエリと処理の操作、ファイルの使用状況を追跡するために使用できる多くの新しいイベントが用意されています。 詳細については、「 Analysis Services トレース イベント」を参照してください。
警告
テーブル モデル データベースにトレースを設定した場合、DMX クエリとして分類されたイベントの存在に気付くことがあります。 しかし、テーブル モデル データでは、データ マイニングはサポートされません。データベースに対して実行する DMX クエリは、モデルのメタデータに対する SELECT ステートメントに限られます。 イベントが DMX として分類されるのは、単に同じパーサー フレームワークが MDX に使用されているためです。
クエリ言語
Analysis Services テーブル モデルは、多次元モデルへのアクセス用とほぼ同じクエリ言語をサポートします。 ただし、DirectQuery モードで配置されたテーブル モデルは例外です。この場合、データは、Analysis Services データ ストアからではなく、SQL Server データ ソースから直接取得されます。 MDX を使用してこれらのモデルに対してクエリを実行することはできませんが、POWER View クライアントなどの Transact-SQL ステートメントへの DAX 式の変換をサポートするクライアントを使用する必要があります。
DAX
DAX は、あらゆる種類のテーブル モデルで、式や数式を作成する際に使用できます。モデルが SharePoint 上に PowerPivot 対応 Excel ブックとして格納されているか、Analysis Services のインスタンス上に格納されているかは関係ありません。
また、XMLA EXECUTE コマンド ステートメントのコンテキスト内で DAX 式を使用し、DirectQuery モードで配置されているテーブル モデルにクエリを送信することもできます。
DAX を使用した表形式モデルに対するクエリの例については、「[DAX クエリ構文リファレンス](/dax/dax-syntax-reference)」を参照してください。
MDX
メモリ内キャッシュを優先クエリ方式とするテーブル モデル (DirectQuery モードで配置されていないモデル) に対しては、MDX を使用してクエリを作成できます。 Power View などのクライアントは、集計の作成とデータ ソースとしてのモデルのクエリの両方に DAX を使用しますが、MDX に慣れている場合は、MDX でサンプル クエリを作成するためのショートカットにすることができます。「 MDX でのメジャーの作成」を参照してください。
CSDL
概念スキーマ定義言語そのものはクエリ言語ではありませんが、モデルやモデルのメタデータに関する情報を取得することはできます。後でその情報を使用して、レポートを作成したり、モデルに対するクエリを作成したりすることができます。
表形式モデルでの CSDL の使用方法については、「 CSDL Annotations for Business Intelligence (CSDLBI)」を参照してください。
プログラミング インターフェイス
Analysis Services 表形式モデルの操作に使用されるプリンシパル インターフェイスは、スキーマ行セット、XMLA、およびSQL Server Management StudioおよびSQL Server Data Toolsによって提供されるクエリ クライアントとクエリ ツールです。
データとメタデータ
マネージド アプリケーションでは、ADOMD.NET を使用して、テーブル モデルからデータおよびメタデータを取得できます。 テーブル モデルでオブジェクトを作成したり変更したりするアプリケーションの例については、次のリソースを参照してください。
Codeplex のテーブル モデル AMO サンプル
アンマネージ クライアント アプリケーションでは Analysis Services 9.0 OLE DB プロバイダーを使用して、テーブル モデルに対する OLE DB アクセスをサポートできます。 テーブル モデル アクセスを有効にするには、最新バージョンの Analysis Services OLE DB プロバイダーが必要です。 テーブル モデルで使用するプロバイダーの詳細については、「 SharePoint サーバーへの Analysis Services OLE DB プロバイダーのインストール 」を参照してください。
XML ベース形式のデータを Analysis Services インスタンスから直接取得することもできます。 テーブル モデルのスキーマは DISCOVER_CSDL_METADATA 行セットを使用して取得できます。また、EXECUTE コマンドまたは DISCOVER コマンドを既存の ASSL 要素、オブジェクト、またはプロパティと組み合わせて使用することもできます。 詳細については、次のリソースを参照してください。
Analysis Services オブジェクトの操作
テーブル モデルとそこに含まれるオブジェクト (テーブル、列、パースペクティブ、メジャー、パーティションなど) の作成、変更、削除、処理は、XMLA コマンドまたは AMO を使用して行うことができます。 AMO と XMLA は、テーブル モデルで使用される追加のプロパティをサポートするために更新され、レポートとモデリングの機能が強化されています。
AMO および XMLA を使用してテーブル オブジェクトをスクリプト化する例については、次のリソースを参照してください。
Codeplex のテーブル モデル AMO サンプル
CodePlex の AdventureWorks サンプル
PowerShell を使用して、Analysis Services のインスタンスを管理、監視できるほか、テーブル モデル アクセスに必要なセキュリティを形成、監視することができます。 詳細については、「 Analysis Services PowerShell」を参照してください。
スキーマ行セット
クライアント アプリケーションは、スキーマ行セットを使用して表形式モデルのメタデータを調べ、Analysis Services サーバーからサポート情報と監視情報を取得できます。 このリリースでは、新しいスキーマ行セットSQL Server追加され、表形式モデルに関連する機能をサポートし、Analysis Services 全体の監視とパフォーマンス分析を強化するために既存のスキーマ行セットが拡張されました。
-
テーブル モデルの列と参照における依存関係を追跡するための新しいスキーマ行セット
-
テーブル モデルの CSDL 表現を取得するための新しいスキーマ行セット
DISCOVER_XEVENT_TRACE_DEFINITION 行セット
SQL Server 拡張イベントを監視するための新しいスキーマ行セット。 詳細については、「SQL Server拡張イベント (XEvents) を使用した Analysis Services の監視」を参照してください。
-
新しい
Type
列を使用すると、トレースをカテゴリ別にフィルター選択できます。 詳細については、「 再生用のプロファイラー トレースの作成 (Analysis Services)」を参照してください。 -
新しい
STRUCTURE_TYPE
列挙体は、テーブル モデルで作成されたユーザー定義階層の識別をサポートします。 詳細については、「 階層 (SSAS 表形式)」を参照してください。
このリリースでは、データ マイニング スキーマ行セットの OLE DB に対する更新はありません。
警告
DirectQuery モードで配置されているデータベースでは MDX クエリや DMX クエリは使用できません。したがって、DirectQuery モデルに対し、スキーマ行セットを使用してクエリを実行する必要がある場合は、関連する DMV ではなく、XMLA を使用する必要があります。 SELECT * from $system.DBSCHEMA_CATALOGS (または DISCOVER_TRACES) など、サーバー全体の結果を返す DMV の場合、キャッシュ モードで配置されたデータベースの内容のクエリを実行できます。
参照
テーブル モデル データベースへの接続 (SSAS)
PowerPivot データ アクセス
Analysis Services への接続