在 Power BI Desktop 中使用 Microsoft 成本管理连接器创建视觉对象和报表
可以使用适用于 Power BI Desktop 的 Microsoft 成本管理连接器来生成功能强大的自定义可视化效果和报表,从而帮助你更好地了解 Azure 支出。
Microsoft成本管理连接器目前支持以下客户:
- 直接Microsoft 客户协议
- 企业协议 (EA)
- 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 成本管理连接器,请执行以下步骤:
在“主页”功能区中,选择“获取数据”。
从数据类别列表中选择 Azure。
选择“Microsoft 成本管理”。
在出现的对话框中,为“选择范围”下拉列表使用“手动输入范围”(对于“Microsoft 客户协议”),或使用“合约编号”(对于“企业协议 (EA)”)。
连接到Microsoft客户协议帐户
本部分介绍连接到Microsoft客户协议帐户所需的步骤。
连接到计费帐户
若要连接到计费帐户,需要从 Azure 门户检索 计费帐户 ID:
在 Azure 门户中,导航到 成本管理 + 计费。
选择计费对象信息。
在菜单中的“设置”下,在边栏中选择“属性”。
在“计费对象信息”下,复制“ID”。
对于“选择范围”,请选择“手动输入范围”,然后输入下面示例中所示的连接字符串,同时将 {billingAccountId} 替换为在前面步骤中复制的数据。
/providers/Microsoft.Billing/billingAccounts/{billingAccountId}
或者,对于“选择范围”,选择“合约编号”并输入上一步中粘贴的计费帐户 ID 字符串。
输入月数并选择“确定”。
或者,如果要下载不到一个月的数据,可以将
月数设置为零,然后使用小于 31 天的 和开始日期 结束日期 来指定日期范围。出现提示时,请使用 Azure 用户帐户和密码登录。 必须有权访问计费帐户范围才能成功访问计费数据。
连接到计费对象信息
若要连接到 计费配置文件,必须从 Azure 门户检索 计费配置文件 ID 和 计费帐户 ID。
在 Azure 门户中,导航到 成本管理 + 计费。
选择计费对象信息。
在菜单的 设置 下,选择侧边栏中的 属性。
在“计费对象信息”下,复制“ID”。
在 计费帐户下,复制 ID。
对于“选择范围”,请选择“手动输入范围”,并输入下面示例所示的连接字符串,同时将 {billingAccountId} 和 {billingProfileId} 替换为在前面步骤中复制的数据。
/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}
输入月数并选择“确定”。
出现提示时,请使用 Azure 用户帐户和密码登录。 必须有权访问计费对象信息才能成功访问计费对象信息数据。
连接到企业协议帐户
若要使用企业协议(EA)帐户进行连接,可以从 Azure 门户获取注册 ID:
在 Azure 门户中,导航到 成本管理 + 计费。
选择计费帐户。
在“概述”边栏选项卡上,复制“计费帐户 ID”。
对于“选择范围”,请选择“注册号”。
在“范围标识符”中,粘贴在上一步中复制的计费帐户 ID。
输入月数,然后选择“确定”。
出现提示时,请使用 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 错误请求。 若要缓解此错误,请执行以下步骤:
在 Power BI Desktop 中,选择“主页”>“转换数据”。
在 Power Query 编辑器中,选择 RI 使用情况详细信息 语义模型,然后选择 高级编辑器。
按照以下段落所示更新 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
通过上一步中的适当更新更新代码后,选择“完成”,然后选择“关闭并应用”。
可能会遇到以下情况:标记在使用情况详细信息中不起作用,或者标记列无法转换为 json。 此问题源于当前 UCDD API 将标签列的起始和结束括号去除,从而返回为字符串形式,这导致 Power BI 无法转换该列。 若要缓解这种情况,请执行以下步骤。
- 导航到“查询编辑器”。
- 选择“使用情况详细信息”表。
- 在右窗格中,“属性”窗格显示“已应用的步骤”。 需要在“导航”步骤之后将自定义列添加到步骤中。
- 从菜单中选择 添加列>添加自定义列
- 为列命名,例如,可以将此列命名为 TagsInJson 或您偏好的任何名称,然后在查询中输入以下文本:
```= "{"& [Tags] & "}"
- 完成前面的步骤将创建 JSON 格式的新标记列
- 现在可以根据需要传输和展开列。
Microsoft Entra 来宾帐户遇到的身份验证问题: 你可能具有访问注册或计费帐户的适当权限,但收到类似于以下其中一项的身份验证错误:
- 禁止访问资源
- 我们无法使用提供的凭据进行身份验证。 请重试。
出现这些错误的原因可能是,在不同的 Microsoft Entra 域中有一个用户帐户被添加为来宾用户。
对于来宾帐户:在连接成本管理 Power BI 连接器时,如果系统提示并显示身份验证对话框,请使用以下设置或选项:
- 选择“登录”
- 选择“使用其他帐户”(对话框底部)
- 选择“登录选项”(对话框底部)
- 选择“登录到组织”
- 对于“域名”,提供已在其中添加为来宾的 Microsoft Entra 域的完全限定的域名 (FQDN)。
- 然后,对于“选取帐户”,请选择之前已进行身份验证的用户帐户。
相关内容
可以使用 Power BI Desktop 连接到许多不同的数据源。 有关详细信息,请参阅以下文章: