Analyze cost with the Cost Management Power BI App for Enterprise Agreements (EA)

This article explains how to install and use the Cost Management Power BI app. The app helps you analyze and manage your Azure costs in Power BI. You can use the app to monitor costs, usage trends, and identify cost optimization options to reduce your expenditures.

The Cost Management Power BI app currently supports only customers with an Enterprise Agreement. Sovereign clouds, including Azure Government, Azure China, and Azure Germany, aren't supported by any Power BI template apps.

The app limits customizability. If you want to modify and extend the default filters, views, and visualizations to customize for your needs, use Cost Management connector in Power BI Desktop instead. With the Cost Management connector you can join additional data from other sources to create customized reports to get holistic views of your overall business cost. The connector also supports Microsoft Customer Agreements.


Power BI template apps don't support downloading the PBIX file.



When you convert an EA enrollment to a Microsoft Customer Agreement (MCA), you can’t use the Cost Management Power BI template app any longer because the app doesn’t support MCA. However, the Azure Cost Management connector for Power BI Desktop supports MCA accounts.

Installation steps

To install the app:

  1. Open Cost Management Power BI App.

  2. On the Power BI AppSource page, select Get it now.

  3. Select Continue to agree to the terms of use and privacy policy.

  4. In the Install this Power BI app box, select Install.

  5. If needed, create a workspace and select Continue.

  6. When installation completes, notification appears saying that your new app is ready.

  7. Select the app that you installed.

  8. On the Getting started page, select Connect your data. Screenshot highlighting the Connect your data link.

  9. In the dialog that appears, enter your EA enrollment number for BillingProfileIdOrEnrollmentNumber. Specify the number of months of data to get. Enter "Enrollment Number" for Scope, then select Next.

    Screenshot showing where you enter your E A enrollment information.

  10. The next installation step connects to your EA enrollment and requires an Enterprise Administrator account. Leave all the default values. Select Sign in and continue.
    Screenshot showing the Connect to Cost Management App dialog box with default values to connect with.

  11. The final dialog connects to Azure and gets data. Leave the default values as configured and select Sign in and connect.
    Screenshot showing the Connect to Cost Management App dialog box with default values.

  12. You are prompted to authenticate with your EA enrollment. Authenticate with Power BI. After you're authenticated, a Power BI data refresh starts.


    The data refresh process might take quite a while to complete. The length depends on the number of months specified and the amount of data needed to sync.

After the data refresh is complete, select the Cost Management App to view the pre-created reports.

Reports available with the app

The following reports are available in the app.

Getting Started - Provides useful links to documentation and links to provide feedback.

Account overview - The report shows the current billing month summary of information, including:

  • Charges against credits
  • New purchases
  • Azure Marketplace charges
  • Overages and total charges


The Select date range selector doesn’t affect or change overview tiles. Instead, the overview tiles show the costs for the current billing month. This behavior is intentional.

Data shown in the bar graph is determined by the date selection.

Here's how values in the overview tiles are calculated.

  • The value shown in the Charges against credit tile is calculated as the sum of adjustments.
  • The value shown in the Service overage tile is calculated as the sum of ServiceOverage.
  • The value shown in the Billed separately tile is calculated as the sum of chargesBilledseparately.
  • The value shown in the Azure Marketplace tile is calculated as the sum of azureMarketplaceServiceCharges.
  • The value shown in the New purchase amount tile is calculated as the sum of newPurchases.
  • The value shown in the Total charges tile is calculated as the sum of (adjustments + ServiceOverage + chargesBilledseparately + azureMarketplaceServiceCharges).

The Power BI template app includes Adjustments, Service Overage, Charges billed separately, and Azure Marketplace service charges as Total charges.

Usage by Subscriptions and Resource Groups - Provides a cost over time view and charts showing cost by subscription and resource group.

Usage by Services - Provides a view over time of usage by MeterCategory. You can track your usage data and drill into any anomalies to understand usage spikes or dips.

Top 5 Usage drivers - The report shows a filtered cost summarization by the top 5 MeterCategory and corresponding MeterName.

Windows Server AHB Usage - The report shows the number virtual machines that have Azure Hybrid Benefit enabled. It also shows a count of cores/vCPUs used by the virtual machines.

Screenshot showing the full Azure Hybrid Benefits report.

The report also identifies Windows VMs where Hybrid Benefit is enabled but there are fewer than 8 vCPUs. It also shows where Hybrid Benefit is not enabled that have 8 or more vCPUs. This information helps you fully use your Hybrid Benefit. Apply the benefit to your most expensive virtual machines to maximize your potential savings.

Screenshot showing the Less than 8 vCPUs and vCPUs not enabled area of the Azure Hybrid Benefits report.

RI Chargeback - The report helps you understand where and how much of a reserved instance (RI) benefit is applied per region, subscription, resource group, or resource. The report uses amortized usage data to show the view.

You can apply a filter on chargetype to view RI underutilization data.

For more information about amortized data, see Get Enterprise Agreement reservation costs and usage.

RI Savings - The report shows the savings accrued by reservations for subscription, resource group, and the resource level. It displays:

  • Cost with reservation
  • Estimated on-demand cost if the reservation didn't apply to the usage
  • Cost savings accrued from the reservation

The report subtracts any under-utilized reservation waste cost from the total savings. The waste wouldn't occur without a reservation.

You can use the amortized usage data to build on the data.

VM RI Coverage (shared recommendation) - The report is split between on-demand VM usage and RI VM usage over the selected period. It provides recommendations for VM RI purchases at a shared scope.

To use the report, select the drill-down filter.

Screenshot showing the select drill down option in the VM RI coverage report.

Select the region that you want to analyze. Then select the instance size flexibility group, and so on.

For each drill-down level, the following filters are applied to the report:

  • The coverage data on the right is the filter showing how much usage is charged using the on-demand rate vs. how much is covered by the reservation.
  • Recommendations are also filtered.

The recommendations table provides recommendations for the reservation purchase, based on the VM sizes used.

The Normalized Size and Recommended Quantity Normalized values help you normalize the purchase to the smallest size for an instance size flexibility group. The information is helpful if you plan to purchase just one reservation for all sizes in the instance size flexibility group.

Screenshot showing the RI recommendations report.

VM RI Coverage (single recommendation) - The report is split between on-demand VM usage and RI VM usage over the selected time period. It provides recommendations for VM RI purchases at a subscription scope.

For details about how to use the report, see the VM RI Coverage (shared recommendation) section.

RI purchases - The report shows RI purchases over the specified period.

Price sheet - The report shows a detailed list of prices specific to a Billing account or EA enrollment.

Troubleshoot problems

If you're having issues with the Power BI app, the following troubleshooting information might help.

Error processing the data in the dataset

You might get an error stating:

There was an error when processing the data in the dataset.
Data source error: {"error":{"code":"ModelRefresh_ShortMessage_ProcessingError","pbi.error":{"code":"ModelRefresh_ShortMessage_ProcessingError","parameters":{},"details":[{"code":"Message","detail":{"type":1,"value":"We cannot convert the value \"Required Field: 'Enr...\" to type List."}}],"exceptionCulprit":1}}} Table: <TableName>.

A table name would appear instead of <TableName>.


The default Scope value of Enrollment Number was changed in the connection to Cost Management.


Reconnect to Cost Management and set the Scope value to Enrollment Number. Do not enter your organization's enrollment number, instead type Enrollment Number exactly as it appears in the following image.

Screenshot showing that the default text of Enrollment Number must not change.

BudgetAmount error

You might get an error stating:

Something went wrong
There was an error when processing the data in the dataset.
Please try again later or contact support. If you contact support, please provide these details.
Data source error: The 'budgetAmount' column does not exist in the rowset. Table: Budgets.


This error occurs because of a bug with the underlying metadata. The issue happens because there's no budget available under Cost Management > Budget in the Azure portal. The bug fix is in the process of getting deployed to the Power BI Desktop and Power BI service.


  • Until the bug is fixed, you can work around the problem by adding a test budget in the Azure portal at the billing account/EA enrollment level. The test budget unblocks connecting with Power BI. For more information about creating a budget, see Tutorial: Create and manage budgets.

Invalid credentials for AzureBlob error

You might get an error stating:

Failed to update data source credentials: The credentials provided for the AzureBlobs source are invalid.


This error occurs if you change the authentication method for your data source connection.


  1. Connect to your data.
  2. After you enter your EA enrollment and number of months, make sure that you leave the default value of Anonymous for Authentication method and None for the Privacy level setting.
    Screenshot shows the Connect to Cost Management App dialog box with Anonymous and None values entered.
  3. On the next page, set OAuth2 for the Authentication method and None set for Privacy level. Then, sign in to authenticate with your enrollment. This step also starts a Power BI data refresh.

Data reference

The following information summarizes the data available through the app.

Table reference Description
AutoFitComboMeter Data included in the app to normalize the RI recommendation and usage to the smallest size in the instance family group.
Balance summary Summary of the balance for Enterprise Agreements.
Budgets Budget details to view actual costs or usage against existing budget targets.
Pricesheets Applicable meter rates for the provided billing profile or EA enrollment.
RI charges Charges associated to your reserved instances over the last 24 months.
RI recommendations (shared) Reserved instance purchase recommendations based on all your subscription usage trends for the last 7 days.
RI recommendations (single) Reserved instance purchase recommendations based on your single subscription usage trends for the last 7 days.
RI usage details Consumption details for your existing reserved instances over the last month.
RI usage summary Daily Azure reservation usage percentage.
Usage details A breakdown of consumed quantities and estimated charges for the given billing profile in the EA enrollment.
Usage details amortized A breakdown of consumed quantities and estimated amortized charges for the given billing profile in the EA enrollment.

Next steps

For more information about configuring data, refresh, sharing reports, and additional report customization see the following articles: