Citrix Performance Analytics 向け Power BI 連携
Citrix Analytics ServiceプラットフォームのODATA APIは、現在Performance Analyticsのデータエクスポート機能をサポートしています。
本ドキュメントでは、CAS ODATA APIをPower BIと連携するために必要な手順について説明します。Power BIは以下もサポートしています。
- 増分データ更新 (これは大規模なデータセットにとって不可欠なサポートです)
- スケジュールされたデータ更新 (データを自動的にプルしてPower BIワークスペースにエクスポートします)
前提条件
CAS ODATAフィードに接続するには、以下の項目が必要です。
- Citrix Cloud™カスタマーID (CCID)
- グローバルCAS ODATA APIエンドポイント:
https://api.cloud.com/casodata - Citrix Cloud APIクライアント
CAS ODATA APIは、認証にCitrix Cloudベアラートークンを使用します。ベアラートークンを取得するには、Citrix Cloud APIクライアントが必要です。Citrix Cloud APIクライアントを作成し、クライアントIDとシークレットを保存する方法については、Citrix Cloud APIの概要ドキュメントを参照してください。
注:
APIクライアントを作成する管理者は、Citrix Cloud Analyticsサービスへの「読み取り専用」アクセスまたは「完全な管理者アクセス」が必要です。
CAS ODATAフィードとPower BIの接続
CAS ODATAフィードをPower BIに接続するには、以下の手順を実行します。
- Power BI Desktopを開きます
-
ホーム -> データの取得 -> 空のクエリ を選択します。Power Queryエディターページが表示されます。

-
Power Queryエディター画面で、パラメーターの管理を選択し、増分更新をサポートするために、以下の2つのパラメーターを追加します。
- RangeStart: 更新開始日 (データ型は「日付/時刻」を使用する必要があります)
- RangeEnd: 更新終了日 (データ型は「日付/時刻」を使用する必要があります)

詳細については、Microsoftドキュメントを参照してください。
-
Power Queryエディター画面で、詳細エディターを選択し、Citrix Cloudと対話してベアラートークンを取得し、CAS ODATAフィードと対話して必要なデータを取得するために、以下のクエリを入力します。
注:
認証には、前の手順で取得したベアラートークンを使用します。
let customerId = "placeholder_customerId", // Citrix Cloud API資格情報 (ベアラートークン) を取得 tokenUrl = "placeholder_tokenUrl", headers = [ #"customerid" = customerId, #"Content-Type" = "application/x-www-form-urlencoded", #"Accept" = "*/*" ], postData = [ grant_type = "client_credentials", client_id = "placeholder_ApiClientId", client_secret = "placeholder_ApiSecretKey" ], response = Json.Document(Web.Contents(tokenUrl, [Headers = headers, Content = Text.ToBinary(Uri. BuildQueryString(postData))])), // 応答からCCベアラートークンを取得 token = "CwsAuth bearer=" & response[access_token], reportDate = DateTime.AddZone(RangeStart, 0), reportDateYear = Number.ToText(Date.Year(reportDate)), reportDateMonth = Number.ToText(Date.Month(reportDate)), reportDateDay = Number.ToText(Date.Day(reportDate)), // CAS ODATA APIエンドポイントとODATAクエリ。以下のサンプルはアクティブなセッション (終了していないセッション) を取得します // apiURL = "https://api.cloud.com/casodata/sessions?$filter=SessionState ne '3'", apiURL = "placeholder_OdataApiUrl", // PowerBIが正しく動作するように、以下のAPIクエリを分離する必要があります apiQuery = [ #"year" = reportDateYear, #"month" = reportDateMonth, #"day" = reportDateDay ], apiHeaders = [ #"Authorization" = token, #"Citrix-CustomerId" = customerId ], Source = OData.Feed(apiURL, null, [Query=apiQuery, Headers=apiHeaders]), #"Filtered Rows" = Table.SelectRows(Source, each [Timestamp] >= DateTime.AddZone(RangeStart, 0) and [Timestamp] <= DateTime.AddZone(RangeEnd, 0)) in #"Filtered Rows" <!--NeedCopy--> -
サイトに基づいて以下のプレースホルダーを置き換えます。
- Placeholder_customerId: カスタマーID
-
placeholder_tokenUrl: 地域固有のCC認証URL
https://api.cloud.com/cctrustoauth2/root/tokens/clients - placeholder_ApiClientId: APIクライアントID
- placeholder_ApiSecretKey: APIクライアントシークレットキー
- placeholder_OdataApiUrl: オプションのODATAクエリを含むCAS ODATAのAPI URL (例:
"https://api.cloud.com/casodata/sessions?$filter=SessionState ne '3'")
- 完了したら、完了をクリックします。データソースアクセス資格情報の要求が表示されます。
-
匿名を選択し、次に適用をクリックします。データは次のように更新されます。

増分更新をサポートするためのPower BIの構成
Power Queryがデータをプルできるようになったら、データソースの増分更新を構成する必要があります。
データソースを右クリックし、増分更新を選択して、増分更新を有効にするポリシーを構成します。
注:
増分更新をサポートするには、Power BI PremiumまたはProライセンスが必要です。

重要:
- 増分更新が有効になっている場合、最初の更新でODATA API呼び出しがトリガーされ、すべての履歴データが取得されます。ODATA APIはデータを日次で集計するため、アーカイブされたデータには「日数」を使用することが重要です。
- Power BIワークスペースのディスク容量を節約するために、データを保持する日数を適切に検討してください (例: 「7」日間)。
Power BIクラウドへの公開とスケジュールされた更新の有効化
前述の変更が完了したら、Power BI Desktopで ホーム -> ファイル -> Power BIに発行 を選択します。データセットとレポートがPower BIクラウドワークスペースに発行されます。
データセットの設定をクリックして、スケジュールされた更新を有効にします。

データソースの資格情報セクションでデータソースの匿名アクセスを構成し、接続テストをスキップを選択し、次に、次のようにサインインをクリックします。

最初のデータセット更新では履歴データがプルされますが、これには時間がかかる場合があります。その後の増分更新では、最新の1日分のデータのみがプルされます。この更新は、前のセクションで増分更新ポリシーで構成されたとおりに実行されます。
更新履歴は次のようになります。

更新が完了すると、Power BIにデータを自動的に継続してプルできるようになります。
