Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 15 additions & 6 deletions docs-mslearn/focus/convert.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ ms.reviewer: micflan
<!-- markdownlint-disable-next-line MD025 -->
# Convert Cost Management data to FOCUS

This document provides guidance for converting Cost Management actual and amortized datasets to the FinOps Open Cost and Usage Specification (FOCUS). To learn more about FOCUS, refer to the [FOCUS overview](what-is-focus.md).
This document provides guidance for converting Cost Management actual and amortized datasets to the FinOps Open Cost and Usage Specification (FOCUS). This includes mappings for both FOCUS 1.0 and 1.2-preview specifications. To learn more about FOCUS, refer to the [FOCUS overview](what-is-focus.md).

<br>

Expand Down Expand Up @@ -56,12 +56,12 @@ Apply the following logic to all of the rows:
| ContractedCost | UnitPrice * Quantity / focus:x_PricingBlockSize | Note that x_PricingBlockSize requires a mapping. See column notes for details. |
| ContractedUnitPrice | UnitPrice | None |
| EffectiveCost | CostInBillingCurrency | If ChargeType == "Purchase" or "Refund" and PricingModel == "Reservation" or "SavingsPlan", then `0`; otherwise, use CostInBillingCurrency. |
| InvoiceId | InvoiceId | None |
| InvoiceId | InvoiceId | None (renamed from x_InvoiceId in FOCUS 1.0 to InvoiceId in FOCUS 1.2) |
| InvoiceIssuerName | PartnerName | If PartnerName is empty, use `Microsoft` |
| ListCost | Enterprise Agreement: Not available<br><br>Microsoft Customer Agreement: PaygCostInBillingCurrency | None |
| ListUnitPrice | Enterprise Agreement: PayGPrice<br><br>Microsoft Customer Agreement: PayGPrice \* ExchangeRate | None |
| PricingCategory | PricingModel | If `OnDemand`, then `Standard`; if `Spot`, then `Dynamic`; if `Reservation` or `Savings Plan`, then `Committed`; otherwise, null. |
| PricingCurrency | Enterprise Agreement: BillingCurrencyCode<br><br>Microsoft Customer Agreement: PricingCurrency | None |
| PricingCurrency | Enterprise Agreement: BillingCurrencyCode<br><br>Microsoft Customer Agreement: PricingCurrency | None (renamed from x_PricingCurrency in FOCUS 1.0 to PricingCurrency in FOCUS 1.2) |
| PricingQuantity | Quantity / focus:x_PricingBlockSize | Note that x_PricingBlockSize requires a mapping. See column notes for details. |
| PricingUnit | DistinctUnits (lookup) | Map UnitOfMeasure to DistinctUnits using [Pricing units data file](../toolkit/open-data.md#pricing-units). |
| ProviderName | `Microsoft` | None |
Expand All @@ -73,10 +73,10 @@ Apply the following logic to all of the rows:
| ResourceType | SingularDisplayName (lookup) | Map ResourceType to SingularDisplayName using [Resource types data file](../toolkit/open-data.md#resource-types). |
| ServiceCategory | ServiceCategory (lookup) | Map ConsumedService and ResourceType to ServiceCategory using [Services data file](../toolkit/open-data.md#services). |
| ServiceName | ServiceName (lookup) | Map ConsumedService and ResourceType to ServiceName using [Services data file](../toolkit/open-data.md#services). |
| ServiceSubcategory | ServiceSubcategory (lookup) | Map ConsumedService and ResourceType to ServiceSubcategory using [Services data file](../toolkit/open-data.md#services). |
| ServiceSubcategory | ServiceSubcategory (lookup) | Map ConsumedService and ResourceType to ServiceSubcategory using [Services data file](../toolkit/open-data.md#services). New in FOCUS 1.2. |
| SkuId | Enterprise Agreement: Not available<br><br>Microsoft Customer Agreement: ProductId | None |
| SkuMeter | MeterName | None |
| SkuPriceDetails | AdditionalInfo | Prefix all property names with `x_`. |
| SkuMeter | MeterName | None (renamed from x_SkuMeterName in FOCUS 1.0 to SkuMeter in FOCUS 1.2) |
| SkuPriceDetails | AdditionalInfo | Prefix all property names with `x_`. New in FOCUS 1.2, replaces x_SkuDetails usage. |
| SkuPriceId | Not available | None |
| SubAccountId | SubscriptionId | None |
| SubAccountName | SubscriptionName | None |
Expand All @@ -87,6 +87,15 @@ _¹ Quantity in Cost Management is the consumed (usage) quantity._

_² While RegionName is a direct mapping of ResourceLocation, Cost Management and FinOps toolkit reports do additional data cleansing to ensure consistency in values based on the [Regions data file](../toolkit/open-data.md#regions)._

**Note for FOCUS 1.2 users:** Several columns have been renamed or added in FOCUS 1.2-preview:
- `InvoiceId` (promoted from x_InvoiceId)
- `PricingCurrency` (promoted from x_PricingCurrency)
- `ServiceSubcategory` (new column)
- `SkuMeter` (promoted from x_SkuMeterName)
- `SkuPriceDetails` (new column, will eventually replace x_SkuDetails)

The `x_SkuMeterName` column was renamed to `SkuMeter` in FOCUS 1.2.

<br>

## Feedback about FOCUS columns
Expand Down
3 changes: 3 additions & 0 deletions docs-mslearn/toolkit/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ The following section lists features and enhancements that are currently in deve

### Documentation improvements

- **Changed**
- Updated FOCUS converter documentation to include newly added fields in FOCUS 1.2-preview specification, including ServiceSubcategory and renamed columns (InvoiceId, PricingCurrency, SkuMeter).


### [Power BI reports](power-bi/reports.md) v13

Expand Down