次の方法で共有


テーブル モデル データ アクセス

Analysis Services のテーブル モデル データベースは、多次元モデルからデータまたはメタデータを取得するときとほぼ同じクライアント、インターフェイス、および言語でアクセスできます。 詳細については、「多次元モデルのデータ アクセス (Analysis Services - 多次元データ)」を参照してください。

このトピックでは、テーブル モデルを操作するクライアント、クエリ言語、およびプログラム インターフェイスについて説明します。

クライアント

次の Microsoft 製クライアント アプリケーションでは、Analysis Services のテーブル モデル データベースに対するネイティブ接続がサポートされます。

Excel

テーブル モデルのデータベースには Excel から接続できます。Excel にあるデータの視覚エフェクトと分析機能を使用してデータを操作することができます。 データにアクセスするには、Analysis Services のデータ接続を定義し、表形式サーバー モードで動作するサーバーを指定してから、使用するデータベースを選択します。 詳細については、「SQL Server Analysis Services のデータに接続する、または SQL Server Analysis Services のデータをインポートする」を参照してください。

また、SQL Server データ ツール (SSDT) でテーブル モデルを参照する用途にも Excel は適しています。 このツールには、[Excel で分析] というオプションがあります。このオプションを選択すると、新しい Excel インスタンスが起動され、Excel ブックが作成されて、そのブックからモデル ワークスペース データベースへのデータ接続が開かれます。 Excel でテーブル モデル データを参照する際は、モデルに対するクエリが、Excel PivotTable クライアントを使用して実行される点に注意してください。 したがって、Excel ブック内の操作は、DAX クエリではなく、MDX クエリとしてワークスペース データベースに送信されます。 SQL Profiler などの監視ツールを使用してクエリを監視したとき、プロファイラー トレースに表示されるのは DAX ではなく MDX です。 "Excel で分析" 機能の詳細については、「Excel で分析 (SSAS テーブル)」を参照してください。

Power View

Power View は、Reporting Services のレポート クライアント アプリケーションであり、SharePoint 2010 環境で動作します。 データ探索、クエリ デザイン、プレゼンテーション レイアウトが、アドホック レポート環境に統合されています。 Power View は、テーブル モデルをデータ ソースとして使用することができます。そのモデルが、テーブル モードで動作する Analysis Services のインスタンスにホストされているか、DirectQuery モードを使用してリレーショナル データ ストアから取得されるかは関係ありません。 Power View でテーブル モデルに接続するには、サーバーの場所とデータベース名を格納する接続ファイルを作成する必要があります。 Reporting Services の共有データ ソースまたは BI Semantic Model の接続ファイルは SharePoint で作成することができます。 Power View の詳細については、「Power View (SSRS)」を参照してください。 BI Semantic Model の詳細については、「PowerPivot BI セマンティック モデル接続 (.bism)」を参照してください。

Power View クライアントは特定のモデルの構造を判断する際、指定されたデータ ソースに要求を送信し、データ ソースからスキーマを取得します。このスキーマを使用することで、データ ソースとしてのモデルに対するクエリを作成し、そのデータを基に処理を実行することができます。 以後、データのフィルター処理、計算や集計、関連付けられたデータの表示など、Power View ユーザー インターフェイスで実行される操作はクライアントによって制御され、プログラムから操作することはできません。

Power View クライアントからモデルへと送信されるクエリは DAX ステートメントとして発行され、モデルにトレースを設定することによって監視できます。 クライアントは、概念スキーマ定義言語 (CSDL) に従って提示される初期スキーマ定義をサーバーに要求しますが、その際にも、サーバーに要求を送信します。 詳細については、「テーブル モデルの CSDL 拡張機能の概要」を参照してください。

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 を使用してクエリすることはできません。DAX 式から Transact-SQL ステートメントへの変換をサポートするクライアントを使用する必要があります (Power View クライアントなど)。

DAX

DAX は、あらゆる種類のテーブル モデルで、式や数式を作成する際に使用できます。モデルが SharePoint 上に PowerPivot 対応 Excel ブックとして格納されているか、Analysis Services のインスタンス上に格納されているかは関係ありません。

また、XMLA EXECUTE コマンド ステートメントのコンテキスト内で DAX 式を使用し、DirectQuery モードで配置されているテーブル モデルにクエリを送信することもできます。

テーブル モデルに対し DAX を使用してクエリを実行する例については、「DAX クエリ構文のリファレンス」を参照してください。

MDX

メモリ内キャッシュを優先クエリ方式とするテーブル モデル (DirectQuery モードで配置されていないモデル) に対しては、MDX を使用してクエリを作成できます。 Power View などのクライアントでは、集計を実行する場合もモデルをデータ ソースとしてクエリする場合も DAX が使用されますが、MDX に慣れている方は、MDX の方が簡単にサンプル クエリを作成できる場合があります。「MDX 内でのメジャーの作成」を参照してください。

CSDL

概念スキーマ定義言語そのものはクエリ言語ではありませんが、モデルやモデルのメタデータに関する情報を取得することはできます。後でその情報を使用して、レポートを作成したり、モデルに対するクエリを作成したりすることができます。

テーブル モデルで CSDL がどのように使用されるかについては、「テーブル モデルの CSDL 拡張機能の概要」を参照してください。

プログラミング インターフェイス

Analysis Services テーブル モデルを操作する際の要となるインターフェイスには、スキーマ行セットと XMLA のほか、SQL Server Management Studio および SQL Server Data Tools に備わっているクエリ クライアントとクエリ ツールがあります。

データとメタデータ

マネージ アプリケーションでは、ADOMD.NET を使用して、テーブル モデルからデータおよびメタデータを取得できます。 テーブル モデルでオブジェクトを作成したり変更したりするアプリケーションの例については、次のリソースを参照してください。

アンマネージ クライアント アプリケーションでは 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 を使用してテーブル オブジェクトをスクリプト化する例については、次のリソースを参照してください。

PowerShell を使用して、Analysis Services のインスタンスを管理、監視できるほか、テーブル モデル アクセスに必要なセキュリティを形成、監視することができます。 詳細については、「Analysis Services PowerShell」を参照してください。

スキーマ行セット

クライアント アプリケーションはスキーマ行セットを使用してテーブル モデルのメタデータを分析し、Analysis Services サーバーからサポート情報および監視情報を取得します。 このリリースの SQL Server は、テーブル モデルに関連した機能をサポートし、Analysis Services 全体の監視とパフォーマンス分析を強化するために、新しいスキーマ行セットが追加され、既存のスキーマ行セットは拡張されています。

このリリースでは、データ マイニング スキーマ行セットの OLE DB に対する更新はありません。

注記注意

DirectQuery モードで配置されているデータベースでは MDX クエリや DMX クエリは使用できません。したがって、DirectQuery モデルに対し、スキーマ行セットを使用してクエリを実行する必要がある場合は、関連する DMV ではなく、XMLA を使用する必要があります。 SELECT * from $system.DBSCHEMA_CATALOGS (または DISCOVER_TRACES) など、サーバー全体の結果を返す DMV の場合、キャッシュ モードで配置されたデータベースの内容のクエリを実行できます。

関連項目

概念

テーブル モデル データベースへの接続 (SSAS)

PowerPivot データ アクセス

Analysis Services への接続