OData を介してTIBCO Spotfire でSQL Analysis Services のデータをビジュアライズ
OData は、クラウドベース、モバイル、およびその他のオンラインアプリケーション間のリアルタイム通信を可能にする主要なプロトコルです。CData API Server は、SQL Analysis Services のADO.NET Provider for SSAS と組み合わせると、SQL Analysis Services のデータ(またはその他の250+ のADO.NET Providers データ)をTIBCO Spotfire などのOData コンシューマに提供します。この記事では、API Server とSpotfire のOData の組み込みサポートを使用して、SQL Analysis Services のデータにリアルタイムでアクセスする方法を説明します。
API Server の設定
以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなSQL Analysis Services OData サービスを作成していきましょう。
SQL Analysis Services への接続
TIBCO Spotfire からSQL Analysis Services のデータを操作するには、まずSQL Analysis Services への接続を作成・設定します。
- API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。
- 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「SQL Analysis Services」を選択します。
- 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
CData コネクタの追加方法はこちら >> - それでは、SQL Analysis Services への接続設定を行っていきましょう!
-
接続するには、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 を設定できます。
-
HTTP 認証
AuthScheme を"Basic" または"Digest" に設定してUser とPassword を設定します。CustomHeaders に他の認証値を指定します。
-
Windows (NTLM)
Windows のUser とPassword を設定して、AuthScheme をNTLM に設定します。
-
Kerberos およびKerberos Delegation
Kerberos を認証するには、AuthScheme をNEGOTIATE に設定します。Kerberos 委任を使うには、AuthScheme をKERBEROSDELEGATION に設定します。必要があれば、User、Password およびKerberosSPN を設定します。デフォルトでは、CData 製品は指定されたUrl でSPN と通信しようと試みます。
-
SSL/TLS:
デフォルトでは、CData 製品はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL/TLS のネゴシエーションを試みます。別の証明書を指定するには、利用可能なフォーマットについてヘルプドキュメントの「SSLServerCert」プロパティを参照してください。
接続を設定したら、その後はあらゆるキューブを二次元テーブルとして扱うことができます。データに接続する際にCData 製品がSSAS のメタデータを取得して、動的にテーブルスキーマを更新します。 「CacheLocation」プロパティを設定すれば自動でファイルにキャッシュを作成するので、接続時に毎回メタデータを取得する必要もなくなります。
詳細は、ヘルプドキュメントの「Retrieving Analysis Services Data」を参照してください。
-
HTTP 認証
- 接続情報の入力が完了したら、「保存およびテスト」をクリックします。
接続するには、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 を設定できます。
-
HTTP 認証
AuthScheme を"Basic" または"Digest" に設定してUser とPassword を設定します。CustomHeaders に他の認証値を指定します。
-
Windows (NTLM)
Windows のUser とPassword を設定して、AuthScheme をNTLM に設定します。
-
Kerberos およびKerberos Delegation
Kerberos を認証するには、AuthScheme をNEGOTIATE に設定します。Kerberos 委任を使うには、AuthScheme をKERBEROSDELEGATION に設定します。必要があれば、User、Password およびKerberosSPN を設定します。デフォルトでは、CData 製品は指定されたUrl でSPN と通信しようと試みます。
-
SSL/TLS:
デフォルトでは、CData 製品はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL/TLS のネゴシエーションを試みます。別の証明書を指定するには、利用可能なフォーマットについてヘルプドキュメントの「SSLServerCert」プロパティを参照してください。
接続を設定したら、その後はあらゆるキューブを二次元テーブルとして扱うことができます。データに接続する際にCData 製品がSSAS のメタデータを取得して、動的にテーブルスキーマを更新します。 「CacheLocation」プロパティを設定すれば自動でファイルにキャッシュを作成するので、接続時に毎回メタデータを取得する必要もなくなります。
詳細は、ヘルプドキュメントの「Retrieving Analysis Services Data」を参照してください。
API Server のユーザー設定
次に、API Server 経由でSQL Analysis Services にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。
- 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
-
次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
-
その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。
SQL Analysis Services 用のAPI エンドポイントの作成
ユーザーを作成したら、SQL Analysis Services のデータ用のAPI エンドポイントを作成していきます。
-
まず、「API」ページに移動し、
「 テーブルを追加」をクリックします。
-
アクセスしたい接続を選択し、次へをクリックします。
-
接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。
OData のエンドポイントを取得
以上でSQL Analysis Services への接続を設定してユーザーを作成し、API Server でSQL Analysis Services データのAPI を追加しました。これで、OData 形式のSQL Analysis Services データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。
外部SQL Analysis Services のデータでデータビジュアライゼーションを作成する
- Spotfire を開き、「Add Data Tables」->「OData」をクリックします。
- 「OData Connection」ダイアログで、以下の情報を入力します。
- Service URL:API Server のOData エンドポイントを入力します。例:
http://localhost:8032/api.rsc
- Authentication Method:Username とPassword を選択します。
- Username:API Server ユーザーのユーザー名を入力します。管理コンソールの「Security」タブでAPI ユーザーを作成できます。
- Password:API Server でユーザーの認証トークンを入力します。
- Service URL:API Server のOData エンドポイントを入力します。例:
- ダッシュボードに追加するテーブルとカラムを選択します。この例ではAdventure_Works を使います。
- リアルタイムデータを使いたい場合は、「Keep Data Table External」オプションをクリックします。このオプションは、データの変更をリアルタイムでダッシュボードに反映します。
データをメモリにロードしてローカルで処理したい場合は、「Import Data Table」オプションをクリックします。このオプションは、オフラインでの使用、またはネットワーク接続が遅くダッシュボードとのやり取りが遅延する場合に適しています。
- テーブルを追加すると「Recommended Visualizations」ウィザードが表示されます。テーブルを選択すると、Spotfire はカラムのデータ型を使ってnumber、time、category カラムを検出します。この例ではNumbers セクションでSales_Amount を、Categories セクションでFiscal_Year を使用しています。

[Recommended Visualizations]ウィザードでいくつかビジュアライズを作成したら、ダッシュボードにその他の修正を加えることができ、例えばフィルタを適用できます。「Filter」ボタンをクリックすると、各クエリで使用可能なフィルタが「Filters」ペインに表示されます。