多次元モデルのデータ アクセス (Analysis Services - 多次元データ)

適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

このトピックの情報を使用して、ネットワーク上のSQL Server Analysis Services サーバーへの接続の組み込みサポートを含むプログラムによるメソッド、スクリプト、またはクライアント アプリケーションを使用して、SQL Server Analysis Services多次元データにアクセスする方法について説明します。

このトピックは、次のセクションで構成されています。

クライアント アプリケーション

クエリ言語

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

クライアント アプリケーション

Analysis Services は、多次元データベースをプログラムから構築または統合できるインターフェイスを備えていますが、実際には、Analysis Services のデータにアクセスするための機能が組み込まれた既存のクライアント アプリケーションが Microsoft やその他のソフトウェア ベンダーから提供されているため、そちらを利用する方が一般的です。

次の Microsoft アプリケーションでは、多次元データへのネイティブ接続がサポートされます。

Excel

通常、Analysis Services の多次元データの表示には、Excel ブックのピボット テーブルとピボット グラフ コントロールが使用されます。 モデル内の階層と集計、ナビゲーション構造は、ピボットテーブルのデータ サマリー機能と相性がよいことから、ピボットテーブルは多次元データに適しています。 データ接続を簡単にセットアップできるように、Analysis Services OLE DB データ プロバイダーは Excel のインストールに含まれています。 詳細については、「 SQL Server Analysis Services のデータに接続する、または SQL Server Analysis Services のデータをインポートする」を参照してください。

Reporting Services レポート

レポート ビルダーまたはレポート デザイナーを使用すると、分析データを格納する Analysis Services データベースを利用したレポートを作成できます。 レポート ビルダーとレポート デザイナーにはどちらも MDX クエリ デザイナーが備わっており、利用可能なデータ ソースからデータを取得する MDX ステートメントを、このクエリ デザイナーを使用して入力、設計することができます。

PerformancePoint ダッシュボード

PerformancePoint ダッシュボードは、あらかじめ定義された指標に対しての業績を表すスコアカードを SharePoint で作成するときに使用します。 PerformancePoint は、Analysis Services 多次元データへのデータ接続をサポートします。 詳細については、「 Analysis Services のデータ接続を作成する (PerformancePoint Services)」を参照してください。

SQL Server Data Tools

モデル デザイナーとレポート デザイナーでは、SQL Server データ ツールを使用して、多次元モデルを含んだソリューションを構築します。 Analysis Services インスタンスにソリューションを配置するということは、後でビジネス インテリジェンス クライアント アプリケーション (Excel や Reporting Services など) から接続するためのデータベースを作成するということです。

SQL Server データ ツールは Visual Studio のシェルをベースに構築されており、モデルの編成と格納にはプロジェクトが使用されます。 詳細については、「SQL Server Data Toolsを使用した多次元モデルの作成 (SSDT)」を参照してください。

SQL Server Management Studio

データベース管理者にとって SQL Server Management Studio は、多次元データベースや Analysis Services のインスタンスを含む、SQL Server のインスタンスを管理するための統合環境です。 詳細については、「SQL Server Management Studio」を参照してください。

クエリ言語

MDX は、OLAP データベースからデータを取得するための業界標準のクエリ/計算言語です。 Analysis Services において、MDX は、データを取得するためのクエリ言語であると共に、データの定義とデータの操作にも対応しています。 SQL Server Management Studio、Reporting Services、および SQL Server データ ツールには MDX エディターが組み込まれています。 使用頻度の高いデータ操作については、MDX エディターを使用して、アドホック クエリや再利用可能なスクリプトを作成することができます。

Excel をはじめとする一部のツールやアプリケーションでは、Analysis Services データ ソースをクエリする際に MDX の構文が内部的に使用されています。 XMLA の Execute 要求に MDX ステートメントを含めることによって、プログラムから MDX を使用することもできます。

MDX の詳細については、次のリンクを参照してください。

MDX による多次元データのクエリ

MDX の主な概念 (Analysis Services)

MDX クエリの基礎 (Analysis Services)

MDX スクリプティングの基礎 (Analysis Services)

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

多次元データを使用したカスタム アプリケーションを構築する場合のデータへのアクセス手段は、そのほとんどが、次のいずれかのカテゴリに該当します。

  • XMLA。 広範なオペレーティング システムおよびプロトコルとの互換性を確保する必要がある場合は XMLA を使用します。 柔軟性の点では XMLA に勝る手段はありませんが、その分、パフォーマンスの高さとプログラミングのしやすさが損なわれる場合があります。

  • クライアント ライブラリ。 Microsoft Windows オペレーティング システム上のクライアント アプリケーションからプログラムによってデータにアクセスするには、ADOMD.NET、AMO、OLE DB など、Analysis Services のクライアント ライブラリを使用します。 クライアント ライブラリでは、XMLA がオブジェクト モデルによってラップされ、より高いパフォーマンスを実現するために最適化されています。

    ADOMD.NET と AMO クライアント ライブラリは、マネージド コードで作成されたアプリケーション用です。 アプリケーションがネイティブ コードで作成されている場合は、OLE DB for Analysis Services を使用してください。

Analysis Services をカスタム アプリケーションに接続するためのクライアント ライブラリについて、より詳しい情報とリンクを次の表に示します。

インターフェイス 説明
Analysis Services 管理オブジェクト (AMO) AMO は、Analysis Services のインスタンスと多次元データベースをコードで管理するための主要なオブジェクト モデルです。 たとえば、SQL Server Management Studio では、サーバーとデータベースの管理をサポートするために AMO が使用されています。 詳細については、「 Developing with Analysis Management Objects (AMO)」を参照してください。
ADOMD.NET ADOMD.NET は、カスタム アプリケーションから多次元データを作成し、利用するための主要なオブジェクト モデルです。 マネージド クライアント アプリケーションの ADOMD.NET を使用して、一般的な Microsoft .NET Framework データ アクセス インターフェイスを使用してSQL Server Analysis Services情報を取得できます。 詳細については、「 ADOMD.NET での開発 」と「 ADOMD.NET クライアント プログラミング」を参照してください。
Analysis Services OLE DB Provider (MSOLAP.dll) ネイティブ OLE DB プロバイダーを使用して、非マネージド API からプログラムでSQL Server Analysis Servicesにアクセスできます。 詳細については、「 Analysis Services OLE DB Provider (Analysis Services - 多次元データ)」を参照してください。
スキーマ行セット スキーマ行セットのテーブルは、サーバーに配置された多次元モデルについての説明情報と、サーバー上の現在のアクティビティに関する情報を格納するデータ構造です。 プログラマは、クライアント アプリケーションのスキーマ行セット テーブルに対してクエリを実行して、SQL Server Analysis Services インスタンスに格納されているメタデータを調べ、サポート情報と監視情報を取得できます。 スキーマ行セットは、OLE DB、OLE DB for Analysis Services、OLE DB for Data Mining、XMLA のいずれかのプログラム インターフェイスで利用できます。

次の一覧では、スキーマ行セットを使用するためのいくつかの方法について説明します。

- SQL Server Management Studio またはカスタム レポートから、SQL 構文を使用して DMV クエリを実行し、スキーマ行セットにアクセスする。 詳細については、「 動的管理ビュー (DMV) を使用して Analysis Services を監視する」を参照してください。

- スキーマ行セットを呼び出す ADOMD.NET コードを作成する。

-スキーマ行セット情報を取得するには、SQL Server Analysis Services インスタンスに対して XMLA Discover メソッドを直接実行します。 詳細については、「 Discover メソッド (XMLA)」を参照してください。
XMLA XMLA は、Analysis Services のプログラマが利用できる最下層の API であり、Analysis Services データに対するあらゆるアクセス手法の下に横たわる共通の基盤です。 XMLA は、SOAP ベースの業界標準の XML プロトコルで、HTTP 接続で利用できるあらゆる標準的な多次元データ ソースへの汎用データ アクセスをサポートします。 多次元データの要求と応答は SOAP を使用して作成されます。 アプリケーションが Windows 以外のプラットフォームで実行されている場合は、ネットワーク上の Windows サーバーで運用されている多次元データベースに、XMLA を使用してアクセスできます。 詳細については、「 Analysis Services での XMLA による開発」を参照してください。
Analysis Services スクリプト言語 (ASSL) ASSL は、XMLA プロトコルの Analysis Services 拡張機能を指す概念的な用語です。 XMLA プロトコルには Execute メソッドと Discover メソッドが定義されていますが、ASSL によって、次の機能が加わります。

- XMLA スクリプト

- XMLA オブジェクト定義

- XMLA コマンド

ASSL 拡張機能によってデータ定義、データ操作、データ制御への対応が可能となり、Analysis Services は、XMLA プロトコルに備わっている基本機能の枠を超えて XMLA の構成要素を使用することができます。 詳細については、「 Developing with Analysis Services Scripting Language (ASSL)」を参照してください。

参照

Analysis Services スクリプト言語 (ASSL) での開発
Analysis Services での XMLA による開発