在 Power BI Desktop 中使用 Microsoft 成本管理连接器创建视觉对象和报表

可以使用适用于 Power BI Desktop 的 Microsoft 成本管理连接器来生成功能强大的自定义可视化效果和报表,从而帮助你更好地了解 Azure 支出。

Microsoft成本管理连接器目前支持以下客户:

如果你有不受支持的协议,可使用“导出”功能将成本数据保存到共享,然后使用 Power BI 连接到该共享。 有关详细信息,请参阅 教程 - 从Microsoft成本管理创建和管理导出的数据。

Microsoft成本管理连接器使用 OAuth 2.0 对 Azure 进行身份验证,并标识要使用连接器的用户。 在此过程中生成的令牌在特定时间段内有效。 Power BI 将为下次登录保留令牌。 OAuth 2.0 是后台进程的标准,可确保对这些权限的安全处理。 若要进行连接,必须使用企业管理员帐户(对于企业协议)或在计费帐户或计费对象信息级别具有适当的权限(对于 Microsoft 客户协议)。

备注

Power BI 的成本管理连接器最多支持约 500 万美元的原始成本详细信息。 若要根据需求评估替代项,请查看 选择 Power BI 数据源 文章。

使用 Microsoft 成本管理进行连接

若要在 Power BI Desktop 中使用 Microsoft 成本管理连接器,请执行以下步骤:

  1. 在“主页”功能区中,选择“获取数据”

  2. 从数据类别列表中选择 Azure

  3. 选择“Microsoft 成本管理”。

    获取数据

  4. 在出现的对话框中,为“选择范围”下拉列表使用“手动输入范围”(对于“Microsoft 客户协议”),或使用“合约编号”(对于“企业协议 (EA)”)

连接到Microsoft客户协议帐户

本部分介绍连接到Microsoft客户协议帐户所需的步骤。

连接到计费帐户

若要连接到计费帐户,需要从 Azure 门户检索 计费帐户 ID

  1. Azure 门户中,导航到 成本管理 + 计费

  2. 选择计费对象信息。

  3. 在菜单中的“设置”下,在边栏中选择“属性”

  4. 在“计费对象信息”下,复制“ID”成本管理计费配置文件的屏幕截图

  5. 对于“选择范围”,请选择“手动输入范围”,然后输入下面示例中所示的连接字符串,同时将 {billingAccountId} 替换为在前面步骤中复制的数据。 /providers/Microsoft.Billing/billingAccounts/{billingAccountId}

    或者,对于“选择范围”,选择“合约编号”并输入上一步中粘贴的计费帐户 ID 字符串

  6. 输入月数并选择“确定”

    Microsoft成本管理中输入月份数的屏幕截图

    或者,如果要下载不到一个月的数据,可以将 月数设置为零,然后使用小于 31 天的 开始日期结束日期 来指定日期范围。

  7. 出现提示时,请使用 Azure 用户帐户和密码登录。 必须有权访问计费帐户范围才能成功访问计费数据。

连接到计费对象信息

若要连接到 计费配置文件,必须从 Azure 门户检索 计费配置文件 ID计费帐户 ID

  1. Azure 门户中,导航到 成本管理 + 计费

  2. 选择计费对象信息。

  3. 在菜单的 设置 下,选择侧边栏中的 属性

  4. 在“计费对象信息”下,复制“ID”

  5. 计费帐户下,复制 ID

    Microsoft成本管理计费帐户信息的屏幕截图

  6. 对于“选择范围”,请选择“手动输入范围”,并输入下面示例所示的连接字符串,同时将 {billingAccountId} 和 {billingProfileId} 替换为在前面步骤中复制的数据

    /providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}

  7. 输入月数并选择“确定”

  8. 出现提示时,请使用 Azure 用户帐户和密码登录。 必须有权访问计费对象信息才能成功访问计费对象信息数据。

连接到企业协议帐户

若要使用企业协议(EA)帐户进行连接,可以从 Azure 门户获取注册 ID:

  1. Azure 门户中,导航到 成本管理 + 计费

  2. 选择计费帐户。

  3. 在“概述”边栏选项卡上,复制“计费帐户 ID”

  4. 对于“选择范围”,请选择“注册号”

  5. 在“范围标识符”中,粘贴在上一步中复制的计费帐户 ID

  6. 输入月数,然后选择“确定”

    屏幕截图显示了 Microsoft 成本管理属性,其中范围为“注册号”。

  7. 出现提示时,请使用 Azure 用户帐户和密码登录。 要使用企业管理员帐户来处理企业协议。

通过连接器提供的数据

成功进行身份验证后,将显示一个 导航器 窗口,其中包含以下可用的数据表:

帐户类型 支持的范围 说明
余额摘要 仅限 EA EA 合约 企业协议(EA)当前计费月份余额摘要。
计费事件 仅限 MCA 计费配置文件 提供新发票、信用点数购买等信息的事件日志。仅限于 Microsoft 客户协议。
预算 EA、MCA EA 注册、MCA 计费帐户、MCA 计费对象信息 提供预算详细信息,以查看针对现有预算目标的实际成本或使用情况。
费用 仅限 MCA MCA 计费对象信息 Azure 使用情况、市场费用和单独计费的月级摘要。 仅适用于 Microsoft 客户协议。
额度批次 仅限 MCA MCA 计费对象信息 为提供的计费对象信息提供 Azure 额度批次购买详情。 仅适用于 Microsoft 客户协议。
价目表 EA、MCA EA 注册、MCA 计费对象信息 提供的计费对象信息或 EA 合约的适用计量费率。
RI 费用 EA、MCA EA 注册、MCA 计费对象信息 过去 24 个月与预留实例相关联的费用。 此表正被弃用,请改用 RI 事务
RI 建议(共享) EA、MCA EA 注册、MCA 计费对象信息 预留实例根据过去 30 天内的所有订阅用量趋势购买建议。
RI 建议(单个) EA、MCA EA 注册、MCA 计费对象信息 预留实例根据过去 30 天内的单个订阅用量趋势购买建议。
RI 事务 EA、MCA EA 注册、MCA 计费对象信息 计费帐户范围上预留实例的事务列表。
RI 使用情况详细信息 EA、MCA EA 注册、MCA 计费对象信息 上个月现有预留实例的使用情况详细信息。
RI 使用情况摘要 EA、MCA EA 注册、MCA 计费对象信息 每日 Azure 预留使用量百分比。
使用情况详细信息 EA、MCA EA 注册、MCA 计费帐户、MCA 计费对象信息 提供 EA 合约给定计费对象信息的已使用量的明细和估计费用。
使用情况详细信息摊销 EA、MCA EA 注册、MCA 计费帐户、MCA 计费对象信息 提供 EA 合约给定计费对象信息的已使用量的明细和估计摊销费用。

可以选择一个表以查看预览对话框。 可以通过选中表名称旁边的框来选择一个或多个表,然后选择“加载”

屏幕截图显示“导航器”对话框。

选择 加载时,数据将加载到 Power BI Desktop 中。

当加载所选数据时,数据表和字段将显示在字段 窗格中。

注意事项和限制

以下注意事项和限制适用于Microsoft成本管理数据连接器:

  • Power BI 不支持超过 100 万行的数据行请求。 相反,可以尝试使用 中所述的导出功能在Microsoft成本管理中创建和管理导出的数据。

  • Microsoft成本管理数据连接器不适用于 Office 365 GCC 客户帐户。

  • 数据刷新: 成本和使用情况数据通常在 Azure 门户中更新并可用,并在 8 到 24 小时内支持 API,因此建议将 Power BI 计划刷新限制为每天一次或两次。

  • 数据源重用: 如果你有多个正在拉取相同数据的报表,并且不需要更多特定于报表的数据转换,则应重复使用同一数据源,这将减少拉取使用情况详细信息数据所需的时间。

    有关重用数据源的详细信息,请参阅以下内容:

如果已选择超过三个月的日期参数,则在尝试刷新数据时可能从 RI 使用情况详细信息接收到 400 错误请求。 若要缓解此错误,请执行以下步骤:

  1. 在 Power BI Desktop 中,选择“主页”>“转换数据”

  2. 在 Power Query 编辑器中,选择 RI 使用情况详细信息 语义模型,然后选择 高级编辑器

  3. 按照以下段落所示更新 Power Query 代码,它们将调用拆分为三个月的区块。 请确保记下并保留注册号或计费帐户/计费对象信息 ID。

    要对 EA 进行代码更新,请使用以下代码:

    let
        enrollmentNumber = "<<Enrollment Number>>",
        optionalParameters1 = [startBillingDataWindow = "-9", endBillingDataWindow = "-6"],
        source1 = AzureCostManagement.Tables("Enrollment Number", enrollmentNumber, 5, optionalParameters1),
        riusagedetails1 = source1{[Key="riusagedetails"]}[Data],
        optionalParameters2 = [startBillingDataWindow = "-6", endBillingDataWindow = "-3"],
        source2 = AzureCostManagement.Tables("Enrollment Number", enrollmentNumber, 5, optionalParameters2),    
        riusagedetails2 = source2{[Key="riusagedetails"]}[Data],
        riusagedetails = Table.Combine({riusagedetails1, riusagedetails2})
    in
        riusagedetails
    

    对于 Microsoft 客户协议,请使用以下更新

    let
        billingProfileId = "<<Billing Profile Id>>",
        optionalParameters1 = [startBillingDataWindow = "-9", endBillingDataWindow = "-6"],
        source1 = AzureCostManagement.Tables("Billing Profile Id", billingProfileId, 5, optionalParameters1),
        riusagedetails1 = source1{[Key="riusagedetails"]}[Data],
        optionalParameters2 = [startBillingDataWindow = "-6", endBillingDataWindow = "-3"],
        source2 = AzureCostManagement.Tables("Billing Profile Id", billingProfileId, 5, optionalParameters2),    
        riusagedetails2 = source2{[Key="riusagedetails"]}[Data],
        riusagedetails = Table.Combine({riusagedetails1, riusagedetails2})
    in
        riusagedetails
    
    
  4. 通过上一步中的适当更新更新代码后,选择“完成”,然后选择“关闭并应用”

可能会遇到以下情况:标记在使用情况详细信息中不起作用,或者标记列无法转换为 json。 此问题源于当前 UCDD API 将标签列的起始和结束括号去除,从而返回为字符串形式,这导致 Power BI 无法转换该列。 若要缓解这种情况,请执行以下步骤。

  1. 导航到“查询编辑器”
  2. 选择“使用情况详细信息”表
  3. 在右窗格中,“属性”窗格显示“已应用的步骤”。 需要在“导航”步骤之后将自定义列添加到步骤中
  4. 从菜单中选择 添加列>添加自定义列
  5. 为列命名,例如,可以将此列命名为 TagsInJson 或您偏好的任何名称,然后在查询中输入以下文本:
    
    ```= "{"& [Tags] & "}"
    
  6. 完成前面的步骤将创建 JSON 格式的新标记列
  7. 现在可以根据需要传输和展开列。

Microsoft Entra 来宾帐户遇到的身份验证问题: 你可能具有访问注册或计费帐户的适当权限,但收到类似于以下其中一项的身份验证错误:

  • 禁止访问资源
  • 我们无法使用提供的凭据进行身份验证。 请重试。

出现这些错误的原因可能是,在不同的 Microsoft Entra 域中有一个用户帐户被添加为来宾用户。

对于来宾帐户:在连接成本管理 Power BI 连接器时,如果系统提示并显示身份验证对话框,请使用以下设置或选项:

  1. 选择“登录”
  2. 选择“使用其他帐户”(对话框底部)
  3. 选择“登录选项”(对话框底部)
  4. 选择“登录到组织”
  5. 对于“域名”,提供已在其中添加为来宾的 Microsoft Entra 域的完全限定的域名 (FQDN)
  6. 然后,对于“选取帐户”,请选择之前已进行身份验证的用户帐户

可以使用 Power BI Desktop 连接到许多不同的数据源。 有关详细信息,请参阅以下文章: