Citrix パフォーマンス分析のための Power BI 統合

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

このドキュメントでは、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 デスクトップを開きます。
  2. [ ホーム ]-> [ データの取得 ]-> [ 空白のクエリ] を選択します。「 パワークエリーエディター 」ページが表示されます。

    データのエクスポート

  3. Power Query Editor 画面で、「 パラメーターの管理 」を選択し、次の 2 つのパラメーターを追加してインクリメンタル更新をサポートします:

    • RangeStart: 更新開始日 (「日付/時刻」タイプを使用する必要があります)
    • RangeEnd: リフレッシュ終了日 (「日付/時刻」タイプを使用する必要があります)

    パラメータを管理

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

  4. Power Query Editor ]画面で[ Advanced Editor]を選択し、次のクエリを入力してCitrix Cloudを操作してベアラートークンを取得し、CAS ODATAフィードを操作して必要なデータを取得します。

    注:

    前のステップで取得したベアラートークンを認証に使用してください。

        let
        customerId = "placeholder_customerId",
        // get citrix cloud API credential (bearer token)
        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))])),
        // get the CC bearer toekn from the response
        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 endpoint and ODATA query. Sample below will retrieve active sessions (non-terminated)
        // apiURL = "https://api.cloud.com/casodata/sessions?$filter=SessionState ne '3'",
        apiURL = "placeholder_OdataApiUrl",
        // have to separate api queries below to make PowerBI happy
        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 DateTimeZone.FromText([Timestamp]) >= DateTime.AddZone
        (RangeStart, 0) and DateTimeZone.FromText([Timestamp]) <= DateTime.AddZone(RangeEnd, 0))
        in
        #"Filtered Rows"
    <!--NeedCopy-->
    
  5. サイトに応じて、次のプレースホルダーを置き換えてください:

    • Placeholder_customerId: customer 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. [ 匿名 ] を選択し、[ 適用] をクリックします。データは次のように更新されます:

    データソースへのアクセス

インクリメンタル更新をサポートするように PowerBI を設定

Power Query がデータを取得できる場合は、データソースの増分更新を設定する必要があります。

データソースを右クリックして [ 増分更新] を選択し、増分更新を有効にするポリシーを設定します:

注:

増分更新をサポートするには、Power BI プレミアムライセンスまたはプロライセンスが必要です。

インクリメンタルリフレッシュ

重要:

  • インクリメンタル更新を有効にすると、最初の更新で ODATA API 呼び出しがトリガーされ、すべての履歴データが取得されます。ODATA API はデータを毎日集計するため、アーカイブされたデータには「日数」を使用することが重要です。
  • PowerBI ワークスペースのディスク容量を節約するために、データを保存する適切な日数 (たとえば、「7 日間」) を検討してください。

Power BI クラウドに公開し、定期更新を有効にする

上記の変更が完了したら、Power BI デスクトップの [ ホーム ]-> [ ファイル ]-> [ Power BI に公開] を選択します。データセットとレポートは Power BI クラウドワークスペースに公開されます。

データセットの [ 設定 ] をクリックして、スケジュールされた更新を有効にします:

設定のスケジュール更新

[ データソース認証情報 ] セクションでデータソースへの匿名アクセスを設定し、[ 接続テストをスキップ] を選択して、次のように [ サインイン ] をクリックします:

接続テストをスキップ

最初のデータセット更新では履歴データが取得されますが、これには時間がかかる場合があります。そして、その後のインクリメンタル更新では、最新日のデータのみが取得されます。この更新は、前のセクションの増分更新ポリシーで設定されているとおりに実行されます。

更新履歴は以下のようになります:

更新されたデータ

更新が完了すると、データを継続的に Power BI に自動的に取り込むことができます。

完全なデータ

Citrix パフォーマンス分析のための Power BI 統合