适用于 Citrix Performance Analytics 的 Power BI 集成

Last published : Nov 04, 2026
Citrix Analytics Service 平台 ODATA API 目前支持 Performance Analytics 数据导出功能。
本文档介绍了将 CAS ODATA API 与 Power BI 集成所需的步骤,Power BI 还支持:
  1. 增量数据刷新(此支持对于大型数据集至关重要)
  2. 计划数据刷新(自动拉取数据并将其导出到 Power BI 工作区)

先决条件

连接 CAS ODATA 源需要以下各项:
  1. Citrix Cloud™ 客户识别码 (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. 选择 主页 -> 获取数据 -> 空白查询。将显示 Power Query 编辑器 页面。
    数据导出
  3. 在 Power Query 编辑器 屏幕上,选择 管理参数 并添加以下两个参数以支持增量刷新:
    • RangeStart:刷新开始日期(必须使用“日期/时间”类型)
    • RangeEnd:刷新结束日期(必须使用“日期/时间”类型)
    管理参数
    有关详细信息,请参阅 Microsoft 文档。
  4. 在 Power Query 编辑器 屏幕上,选择 高级编辑器,输入以下查询以与 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 [Timestamp] >= DateTime.AddZone(RangeStart, 0) and [Timestamp] <= DateTime.AddZone(RangeEnd, 0))
    in
    #"Filtered Rows"
  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: 用于 CAS ODATA 的 API URL,带可选 ODATA 查询(例如:"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。
完整数据