使用 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 客户协议)。
使用 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 计费对象信息 | 提供预算详细信息,以查看针对现有预算目标的实际成本或使用情况。 |
Charges | 仅限 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 客户帐户。
数据刷新:成本和使用情况数据通常在 8 到 24 小时内在 Azure 门户和支持 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 连接到多个不同数据源。 有关详细信息,请参阅以下文章: