ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
この記事では、CData BizTalk Adapter for SSAS で実行できるアップデートグラムを作成します。設計したスキーマは、インサート、アップデート、デリートのアップデートグラムを作成するためのテンプレートとして使用します。
[Add Adapter] ウィザードから、アダプターをVisual Studio のBizTalk サーバープロジェクトに追加します。アダプターを使って、修正したいテーブルに関するSQL Analysis Services のメタデータをクエリします。
以下のステップに従って、Visual Studio のBizTalk サーバープロジェクトでスキーマを作成します。
User=myuseraccount;Password=mypassword;URL=http://localhost/OLAP/msmdpump.dll;
接続するには、Url プロパティを有効なSQL Server Analysis Services エンドポイントに設定して認証を提供します。XMLA アクセスを使用して、HTTP 経由でホストされているSQL Server Analysis Services インスタンスに接続できます。 Microsoft ドキュメント configure HTTP access を参照してSQL Server Analysis Services に接続してください。
SQL をSQL Server Analysis Services に実行するには、ヘルプドキュメントの「Analysis Services データの取得」を参照してください。接続ごとにメタデータを取得する代わりに、CacheLocation を設定できます。
AuthScheme を"Basic" または"Digest" に設定してUser とPassword を設定します。CustomHeaders に他の認証値を指定します。
Windows のUser とPassword を設定して、AuthScheme をNTLM に設定します。
Kerberos を認証するには、AuthScheme をNEGOTIATE に設定します。Kerberos 委任を使うには、AuthScheme をKERBEROSDELEGATION に設定します。必要があれば、User、Password およびKerberosSPN を設定します。デフォルトでは、CData 製品は指定されたUrl でSPN と通信しようと試みます。
デフォルトでは、CData 製品はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL/TLS のネゴシエーションを試みます。別の証明書を指定するには、利用可能なフォーマットについてヘルプドキュメントの「SSLServerCert」プロパティを参照してください。
接続を設定したら、その後はあらゆるキューブを二次元テーブルとして扱うことができます。データに接続する際にCData 製品がSSAS のメタデータを取得して、動的にテーブルスキーマを更新します。 「CacheLocation」プロパティを設定すれば自動でファイルにキャッシュを作成するので、接続時に毎回メタデータを取得する必要もなくなります。
詳細は、ヘルプドキュメントの「Retrieving Analysis Services Data」を参照してください。
接続プロパティの詳細は、ヘルプドキュメントの"BizTalk Configuration" チャプターを参照してください。
Noteアップデートグラムを作成する際、修正はスキーマに含ませたカラムに限定されます。
アップデートグラムスキーマの作成後、アップデートグラムを生成する.xsd ファイルを使用できます。.xsd ファイルを右クリックし、[Generate Instance]を選択します。このファイルは、アップデートグラムを手動で作成するテンプレートとして使用することもできます。以下は、インサート、アップデート、デリートそれぞれに生成されたアップデートグラムインスタンスの例です。
まず、インサートの一例です。このインスタンスでは、データの変化を指定するafter ブロックのみを扱います。
<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/SSASProvider">
<ns0:sync>
<ns0:before></ns0:before>
<ns0:after>
<ns0:Adventure_Works Fiscal_Year="Fiscal_Year_0" Sales_Amount="Sales_Amount_1" />
</ns0:after>
</ns0:sync>
</ns0:parameters>
次に、アップデートの一例です。このインスタンスでは、before ブロック(テーブルに存在するデータ)と、after ブロック(データの変化)の両方を扱います。
<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/SSASProvider">
<ns0:sync>
<ns0:before>
<ns0:Adventure_Works Id=001d000000YBRseAAH></ns0:Adventure_Works>
</ns0:before>
<ns0:after>
<ns0:Adventure_Works Fiscal_Year="Fiscal_Year_0" Sales_Amount="Sales_Amount_1" ></ns0:Adventure_Works>
</ns0:after>
</ns0:sync>
</ns0:parameters>
最後に、デリートの一例です。after ブロックは空になり、アイテムを除去していることを示します。
<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/SSASProvider">
<ns0:sync>
<ns0:before>
<ns0:Adventure_Works Id=001d000000YBRseAAH></ns0:Adventure_Works>
</ns0:before>
<ns0:after></ns0:after>
</ns0:sync>
</ns0:parameters>
SQL Analysis Services レコードのインサート、アップデート、デリートにアップデートグラムを使用するには、こちらのチュートリアルをご覧ください。