Analysis Services 開発者向けドキュメント

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

Analysis Services では、ほぼすべてのオブジェクトとワークロードがプログラミング可能であり、多くの場合、複数のアプローチから選択できます。 ソリューションの要件で .NET Framework の使用が妨げられる場合は、マネージド コード、スクリプトの記述、XMLA や MSOLAP などのオープン標準の使用などのオプションが含まれます。

コードで実行できること

一般的なプログラミング シナリオには、サーバー、データベース、セマンティック モデルのデプロイ、管理、データ更新とパーティション管理、カスタム アプリケーションからのデータ アクセス、外部ツールなどがあります。 これらのすべてのシナリオに共通するのは、固定アーキテクチャとオブジェクト定義階層であり、データ定義、処理、クエリワークロードにまたがるよく理解された操作があります。

オブジェクトとワークロードはプログラミング可能ですが、拡張可能ではありません。 具体的には、サポートされていないデータ ソースからデータを取得するカスタム データ カートリッジを作成したり、数式やストレージ エンジンの動作をカスタマイズまたは置換したり、サーバー、データベース、またはモデルに新しい種類のオブジェクト メタデータを作成したりすることはできません。

新しいオブジェクト型の作成に関する最後の点をさらに詳しく説明するために、新しい種類のオブジェクトを作成することはできませんが、実行時に式またはコードから構築された計算オブジェクトを作成できます。 モデル内のすべてが事前に定義され、既存のデータ構造にマップされる必要はありません。 さらに、AMO の Annotations を使用してスキーマを拡張して、オブジェクト固有の情報をクライアント アプリケーションに渡すことができます。

プラットフォームまたは開発へのアプローチを選択する

Analysis Services には、コードを使用してソリューションをカスタマイズするためのさまざまな方法が用意されていますが、ほとんどの開発者はマネージド API またはスクリプトを使用します。

  • マネージド API には、データ定義と管理タスク用 の AMOTOM 、およびクライアント コードからのクエリ サポート用 の ADOMD.NET が含まれます。 SQL Server 2016 以降では、互換性レベル 1200 以降に作成またはアップグレードされたモデルの新しい表形式メタデータを使用するように AMO が更新されます。

  • スクリプトは、多くの場合、プログラム実行可能ファイルと同じ結果を達成でき、作業が少なくなる可能性があります。

    • AMO 型を直接呼び出す Analysis Services PowerShell コンポーネントを使用して、PowerShell スクリプトを記述できます。 PowerShell では、ASSL/XMLA または TMSL (JSON 内) スクリプトを作成して実行することもできます。

    • TMSLASSL は、検出および実行操作で使用されるオブジェクトを提供するスクリプト言語です。 使用するスクリプトの種類は、基になるサーバー、データベース、またはモデルによって異なります。

    • 互換性レベル 1200 以上の表形式モデルまたはデータベースでは、JSON 内の表形式モデル スクリプト言語 (TMSL) が使用されます。

    • 互換性レベル 1050 から 1103 の多次元モデルと表形式モデルでは、XMLA オープン標準の Analysis Services 拡張機能である Analysis Services スクリプト言語 (ASSL) が使用されます。

    • Management Studio で ASSL または TMSL スクリプトを生成できます。 SQL Server Data Toolsでコードの表示を使用して、ASSL または TMSL でモデル定義を表示することもできます。

  • XMLA と MDX のオープン標準に基づいてソリューションを構築することは可能ですが、これを行うことは非常にまれです。 役に立つ XMLA と MDX リファレンス以外のドキュメントはありません。ほとんどのコミュニティとフォーラムのサポートは、.NET またはネイティブ (MSOLAP) テクノロジの経験から得られます。

Analysis Services のプログラミング

Analysis Services 管理オブジェクト (AMO) - 処理を含むデータ定義と管理のための、マネージド プロバイダーの Analysis Services 管理オブジェクト (AMO) の開発者向けリファレンス ドキュメント。

表形式オブジェクト モデル - 互換性レベル 1200 以上で作成された表形式モデルのプログラミング シナリオをサポートするために作成された AMO クライアント ライブラリの拡張機能。

表形式モデル定義言語 (TMDL) - 互換性レベル 1200 以上の表形式データ モデルのオブジェクト モデル定義構文。 TOM と完全に互換性があります。 テキストベースで、人間との対話と読みやすさのために最適化されています。

表形式モデル スクリプト言語 (TMSL) リファレンス - 互換性レベル 1200 以上の表形式モデルの JSON 表現。 オブジェクト定義は、表形式モードで Analysis Services データ モデリングを初めて使用する場合に慣れない多次元メタデータではなく、テーブル、列、リレーションシップなどの表形式メタデータコンストラクトに基づいています。

多次元モデル プログラミング - 多次元モデル オブジェクトをカスタム ソリューションに統合するための開発タスクとアプローチについて説明します。

ADOMD.NET - プログラムによるデータ アクセスとクエリ ワークロードに使用されるマネージド プロバイダー ADOMD.NET の開発者向けリファレンス ドキュメント。

XML for Analysis (XMLA) リファレンス - XMLA がカスタム ソリューションにどのように貢献するかを理解するのに役立つ XMLA の概念について説明します。 XMLA 1.1 仕様への準拠のレベルについても説明します。

Analysis Services スクリプト言語 (ASSL for XMLA) - XMLA への ASSL 拡張機能について説明します。 ASSL では、XMLA 仕様を補完する、Analysis Services 多次元モデルのデータ定義と操作言語を提供します。

Analysis Services スキーマ行セット - サーバーの状態、サーバー操作、およびデータベース オブジェクトに関する情報を提供するスキーマ行セットについて説明します。

Analysis Services PowerShell リファレンス - 管理機能に使用されるコマンドレットと、任意のスクリプトまたはクエリを入力として受け入れる汎用 Invoke-ASCmd コマンドレットを文書化します。