microsoft / microsoft/finops-toolkit
[Cost Management] FOCUS ServiceName is missing in some scenarios
Open
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
- Export FOCUS data from Cost Management
- 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:
- Please vote this issue up (👍) to prioritize it.
- Are there any additional scenarios that you are seeing ServiceName empty in FOCUS data?
- Leave comments to help us solidify the vision.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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