将成本管理数据转换为 FOCUS

本文档提供有关如何将成本管理实际数据集和摊销数据集转换为 FinOps 开放成本与使用规范 (FOCUS) 的指导。 若要详细了解 FOCUS,请参阅 FOCUS 概述


如何将成本管理数据转换为 FOCUS

若要将成本和使用情况数据转换为 FOCUS,需要实际成本数据集和摊销成本数据集:

  • 保留摊销成本数据中的所有行。
  • 筛选实际成本数据,仅包含满足 ChargeType == "Purchase" 或 "Refund" 且 PricingModel == "Reservation" 或 "SavingsPlan" 的行。

将以下逻辑应用于所有行:

FOCUS 列 成本管理列 转换
已计费成本 账单货币成本 如果 ChargeType == "Usage" 且 PricingModel == "Reservation" 或 "SavingsPlan",则 0;否则,使用 CostInBillingCurrency
计费账户ID • 企业协议:BillingAccountId

• Microsoft 客户协议:BillingProfileId
账单账户名称 • 企业协议:账单账户名称

• Microsoft 客户协议:BillingProfileName
结算货币 • 企业协议:BillingCurrencyCode

• Microsoft客户协议:BillingCurrency
计费周期结束 账单周期结束日期 为独占结束日期添加一天
计费周期开始 账单周期开始日期
收费类别 计费类型 如果是 UsagePurchaseCreditTax,则为相同值;如果是 UnusedReservationUnusedSavingsPlan,则为 Usage;如果是 Refund,则为 Purchase;其余情况为 Adjustment
费用类别 计费类型 如果是 Refund,则使用 Correction
费用描述 ProductName
充电频率 频率 如果是 OneTime,则为 One-Time;如果是 Recurring,则为 Recurring;如果是 UsageBased,则为 Usage-Based;其余情况为 Other
计费期结束 日期 为独占结束日期添加一天
充电周期开始 日期
承诺折扣类别 福利编号 如果 BenefitId 包含 /microsoft.capacity/(不区分大小写),则为 Usage;如果它包含 /microsoft.billingbenefits/,则使用 Spend;其余情况为 null
承诺折扣编号 福利编号
承诺折扣名称 福利名称
承诺折扣状态 计费类型 如果是 UnusedReservationUnusedSavingsPlan,则为 Unused;否则,如果 PricingModel == ReservationSavingsPlan,则为 Used;其余情况为 null
承诺折扣类型 福利编号 如果 BenefitId 包含 /microsoft.capacity/(不区分大小写),则为 Reservation;如果它包含 /microsoft.billingbenefits/,则为 Savings Plan;其余情况为 null
消耗量 数量 如果 ChargeType == Usage,则为“数量”;其余情况为 null
ConsumedUnit 计量单位 如果 ChargeType == Usage,则使用定价单位数据文件进行映射;其余情况为 null
合同成本 UnitPrice * Quantity / focus:x_PricingBlockSize 请注意,x_PricingBlockSize需要映射。 有关详细信息,请参阅列说明。
合同单价 单价
EffectiveCost 账单货币成本 如果 ChargeType == “Purchase” 或 “Refund”,并且 PricingModel == “Reservation” 或 “SavingsPlan”,则 0;否则,请使用 CostInBillingCurrency。
发票开具人名称 合作伙伴名称 如果 PartnerName 为空,请使用 Microsoft
ListCost • 企业协议:不可用

• Microsoft 客户协议:PaygCostInBillingCurrency
列表单价 • 企业协议:PayGPrice

• Microsoft 客户协议:PayGPrice * ExchangeRate
定价类别 定价模型 如果是 OnDemand,则为 Standard;如果是 Spot,则为 Dynamic;如果是 ReservationSavings Plan,则为 Committed;其余情况为 null
计价数量 数量/焦点:x_PricingBlockSize 请注意,x_PricingBlockSize需要映射。 有关详细信息,请参阅列说明。
计价单位 DistinctUnits(查找) 使用定价单位数据文件将 UnitOfMeasure 映射到 DistinctUnits
提供者名称 Microsoft
出版社名称 出版社名称
RegionId focus:RegionName 小写和移除空格
地区名称 ResourceLocation 使用区域数据文件2将 ResourceLocation (OriginalValue) 映射到 RegionName
ResourceId ResourceId
资源名称 EA:ResourceName
MCA:last(split(ResourceId, "/"))
Azure 资源名称包括多个级别(例如“SqlServerName/SqlDbName”),这需要更多的处理。 这是一种简化的方法,仅使用最后一个最具体的段。
资源类型 SingularDisplayName(查找) 使用资源类型数据文件将 ResourceType 映射到 SingularDisplayName
服务类别 ServiceCategory(查找) 使用服务数据文件将 ConsumedService 和 ResourceType 映射到 ServiceCategory
服务名称 ServiceName(查找) 使用服务数据文件将 ConsumedService 和 ResourceType 映射到 ServiceName
SKU标识 • 企业协议:不可用

• Microsoft客户协议:ProductId
SkuPriceId 不可用
子账户ID 订阅编号
子帐号名称 订阅名称
标记 标记 包装在 {} 中(如果需要)

¹ 成本管理中的“数量”指的是已消耗(使用)数量。

² 虽然 RegionName 是 ResourceLocation 的直接映射,但成本管理和 FinOps 工具包报告还会进行额外的数据清理,以确保基于区域数据文件的值的一致性。


有关 FOCUS 列的反馈

如果你有关于映射或完整 FOCUS 支持计划的反馈,请在 FinOps 工具包论坛中发起会话。 如果你认为存在 bug,请创建问题

如果你有有关 FOCUS 的反馈,请在 FOCUS 存储库中创建问题。 我们还鼓励你考虑参与 FOCUS 项目。 该项目正在寻找更多的从业者,他们将利用自身经验来指导工作,以帮助努力使其成为可能的最有用的规范。 若要详细了解 FOCUS 或要参与项目,请访问 focus.finops.org


提供反馈

请您给我们一个简短的评价,让我们知道我们做得怎么样。 我们将使用这些评审来改进和扩展 FinOps 工具和资源。

如果您在寻找特定的东西,可以为现有想法投票或者创建新想法。 与他人分享想法,以获得更多的选票。 我们专注于拥有最多选票的想法。


相关资源:

相关产品:

相关解决方案: