microsoft / microsoft/finops-toolkit

[Cost Management] FOCUS ServiceName is missing in some scenarios

Open
#1,569 2 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Resolution: External Resolution: Support request Tool: Cost Management
Dominant language
PowerShell
Stars
603
Forks
248
Avg merge
7d 11h
Merged PRs (30d)
11

Description

🐛 Problem

FOCUS ServiceName is empty for the following scenarios:

  • Marketplace purchases (EA)
  • Savings plan purchases (MCA)
  • Rounding adjustments (MCA)
  • Reservation purchases (MCA)
  • MACC shortfall (MCA)
  • Azure credits (MCA)

👣 Repro steps

  1. Export FOCUS data from Cost Management
  2. Filter rows where ServiceName is empty

🤔 Expected

ServiceName should have a value

ℹ️ Additional context

The following query identifies known scenarios:

Costs
| where isempty(ServiceName)
| project-reorder ChargeCategory, PublisherName, x_PublisherCategory, CommitmentDiscountType, x_SkuDescription, SkuId, SkuPriceId, x_SkuDetails, x_SkuServiceFamily, x_SkuMeterCategory, x_SkuMeterSubcategory, x_SkuMeterName
| extend scenario = case(
    ChargeCategory == 'Purchase' and x_PublisherCategory == 'Vendor', 'Marketplace purchase',
    ChargeCategory == 'Purchase' and isnotempty(CommitmentDiscountType), strcat(CommitmentDiscountType, ' purchase'),
    x_SkuDescription in ('RoundingAdjustment', 'Azure credits', 'MACC Shortfall'), x_SkuDescription,
    ''
)
| summarize count(), max(ChargePeriodStart) by scenario, x_BillingAccountAgreement | order by count_ desc

🙋‍♀️ Ask for the community

We could use your help:

  1. Please vote this issue up (👍) to prioritize it.
  2. Are there any additional scenarios that you are seeing ServiceName empty in FOCUS data?
  3. Leave comments to help us solidify the vision.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Kusto query in the issue to reproduce the empty ServiceName rows and group them by scenario. Trace the Cost Management FOCUS export mapping for Marketplace purchases, commitment purchases, rounding adjustments, reservations, MACC shortfall, and Azure credits. Done means ServiceName is populated for each listed scenario and the query no longer finds those expected cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure
Domain
cloud, data
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.