Citrix Performance Analytics 向け Power BI 連携

Citrix Analytics ServiceプラットフォームのODATA APIは、現在Performance Analyticsのデータエクスポート機能をサポートしています。

本ドキュメントでは、CAS ODATA APIをPower BIと連携するために必要な手順について説明します。Power BIは以下もサポートしています。

  1. 増分データ更新 (これは大規模なデータセットにとって不可欠なサポートです)
  2. スケジュールされたデータ更新 (データを自動的にプルしてPower BIワークスペースにエクスポートします)

前提条件

CAS ODATAフィードに接続するには、以下の項目が必要です。

  1. Citrix Cloud™カスタマーID (CCID)
  2. グローバルCAS ODATA APIエンドポイント: https://api.cloud.com/casodata
  3. 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に接続するには、以下の手順を実行します。

  1. Power BI Desktopを開きます
  2. ホーム -> データの取得 -> 空のクエリ を選択します。Power Queryエディターページが表示されます。

    データのエクスポート

  3. Power Queryエディター画面で、パラメーターの管理を選択し、増分更新をサポートするために、以下の2つのパラメーターを追加します。

    • RangeStart: 更新開始日 (データ型は「日付/時刻」を使用する必要があります)
    • RangeEnd: 更新終了日 (データ型は「日付/時刻」を使用する必要があります)

    パラメーターの管理

    詳細については、Microsoftドキュメントを参照してください。

  4. 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-->
    
  5. サイトに基づいて以下のプレースホルダーを置き換えます。

    • 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'")
  6. 完了したら、完了をクリックします。データソースアクセス資格情報の要求が表示されます。
  7. 匿名を選択し、次に適用をクリックします。データは次のように更新されます。

    データソースアクセス

増分更新をサポートするための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にデータを自動的に継続してプルできるようになります。

完全なデータ

Citrix Performance Analytics 向け Power BI 連携