top of page

Building an Automated Azure FinOps Dashboard with Azure Cost Management, Azure Storage & Power BI | MyTechClouds

  • Manisha Sharma
  • Jun 11
  • 15 min read


Summary:

  1. Introduction

  2. Lab Details

  3. Solution Architecture

  4. Verify Azure Subscriptions

  5. Configure Storage

  6. Configure Service Account & Permissions

  7. Power BI Integration

  8. Configure Cost Exports & Datasets (PowerBI)

  9. Dashboard Creation

  10. Outcome


Introduction


Cloud cost management has become a critical component of modern IT operations as organizations continue to expand their workloads across cloud platforms. While Microsoft Azure provides powerful capabilities for scalability, security, and innovation, controlling and understanding cloud spending requires a structured FinOps approach.


This document demonstrates how to build an end-to-end Azure FinOps reporting solution using Azure Cost Management, Azure Storage, Microsoft Entra ID, and Power BI Service (Microsoft Fabric). The objective is to automate Azure billing exports, centralize cost data, and provide business stakeholders with actionable insights through interactive dashboards and visual reports.


The implementation covers the complete lifecycle of Azure cost reporting, including subscription validation, Azure Cost Management exports, storage configuration, role-based access control, data transformation, semantic model creation, Power BI integration, and dashboard development.


By following this approach, organizations can:


1. Gain visibility into Azure spending across subscriptions and resources.

2. Automate cost reporting and eliminate manual data collection.

3. Analyze spending trends and forecast future cloud costs.

4. Track costs by subscription, resource group, service, and individual resources.

5. Improve financial governance and cloud cost optimization.

6. Enable data-driven decision-making through executive dashboards.


Environment/Resource Details


Tenant Name

MyTechClouds

Domain

Administrative Account: manisha@mytechclouds.com


Azure Storage Configuration:


Azure Cost Management reports are exported to Azure Blob Storage for centralized storage and reporting.


Storage Account: strgfinopsprod

Storage Type: Azure Blob Storage

Container Name: mytechclouds-sub-monthly-cost


Directory Structure:


Production Reports Directory : prod-csp-subscriptions-cost-export

Development Reports Directory : nonprod-mca-subscriptions-cost-export


Power BI Environment


Microsoft Fabric (Power BI Service) is used for data transformation, semantic modeling, and dashboard creation.


Platform: Power BI Service (Microsoft Fabric)

Workspace Name: MyTechClouds-FinOps

Authentication Method: Microsoft Entra ID

Data Source: Azure Blob Storage

Refresh Type: Scheduled Refresh


For this implementation, two Azure subscriptions are used:


1.    MyTechClouds Prod CSP Subscription

2.    MyTechClouds DEV MCA Subscription


The exported cost data is stored in Azure Blob Storage and consumed by Power BI Service to create a centralized Azure FinOps Dashboard that provides near real-time visibility into cloud spending and resource utilization.


This solution serves as a practical reference architecture for organizations looking to implement Azure FinOps practices and establish a scalable cloud cost management framework.


Figure 1: Azure Subscription Overview showing MyTechClouds Prod CSP Subscription and MyTechClouds DEV MCA Subscription with current Azure costs, secure scores, and centralized management under the MyTechClouds IT Management Group.
Figure 1: Azure Subscription Overview showing MyTechClouds Prod CSP Subscription and MyTechClouds DEV MCA Subscription with current Azure costs, secure scores, and centralized management under the MyTechClouds IT Management Group.

Architectural Design: - Overall flow & Connectivity


Azure FinOps Reporting Architecture illustrating automated cost exports from MyTechClouds Azure subscriptions, centralized storage in Azure Blob Storage (strgfinopsprod), Microsoft Entra ID authentication, and Power BI Service dashboards for cloud cost governance and FinOps reporting.
Figure 2: Azure FinOps Reporting Architecture illustrating automated cost exports from MyTechClouds Azure subscriptions, centralized storage in Azure Blob Storage (strgfinopsprod), Microsoft Entra ID authentication, and Power BI Service dashboards for cloud cost governance and FinOps reporting.

Storage Account:


To store Azure Cost Management export reports, an Azure Storage Account was created within the Production subscription. The storage account serves as the centralized repository for all Azure cost and usage datasets that will later be consumed by Power BI Service for reporting and visualization.


For this implementation, the storage account strgfinopsprod was deployed in the EUGWC-HUB-PROD-CSP-SUB resource group under the MyTechClouds Prod CSP Subscription. The storage account uses Locally Redundant Storage (LRS) to provide cost-effective and reliable storage for FinOps reporting data.


Storage Account Configuration Details


1.  Storage Account: strgfinopsprod

2. Subscription: MyTechClouds Prod CSP Subscription

3. Resource Group: EUGWC-HUB-PROD-CSP-SUB

4. Region: Germany West Central

5. Replication: Locally Redundant Storage (LRS)

6. Owner: Manisha Sharma

7.  Purpose: Store Azure Cost Management export files for Power BI reporting


The storage account acts as the central data repository where monthly Azure cost exports are automatically stored before being processed and visualized within Power BI Service. This approach enables secure, scalable, and automated Azure FinOps reporting across multiple subscriptions.


Azure Storage Account (strgfinopsprod) configured for Azure FinOps reporting, providing centralized storage for automated Azure Cost Management exports from MyTechClouds subscriptions and serving as the data source for Power BI analytics and reporting.
Figure 3: Azure Storage Account (strgfinopsprod) configured for Azure FinOps reporting, providing centralized storage for automated Azure Cost Management exports from MyTechClouds subscriptions and serving as the data source for Power BI analytics and reporting.

Blob Storage Container


A dedicated Azure Blob Storage container was created to store Azure Cost Management export files. This container serves as the destination for all monthly Azure cost and usage reports generated by Azure Cost Management.


Configuration

  • Container Name: mytechclouds-sub-monthly-cost

  • Access Level: Private (No anonymous access)

  • Storage Account: strgfinopsprod

 

Using a private container ensures that cost and billing data remains secure and can only be accessed by authorized users and services through Azure RBAC permissions. This container will be used as the centralized repository for Power BI FinOps reporting and analytics.


Creation of the Azure Blob Storage container 'mytechclouds-sub-monthly-cost' within the Azure Storage Account (strgfinopsprod). The container is configured with private access and serves as the centralized repository for Azure Cost Management export files used in FinOps reporting and Power BI analytics.
Figure 4: Creation of the Azure Blob Storage container 'mytechclouds-sub-monthly-cost' within the Azure Storage Account (strgfinopsprod). The container is configured with private access and serves as the centralized repository for Azure Cost Management export files used in FinOps reporting and Power BI analytics.
Azure Blob Storage container 'mytechclouds-sub-monthly-cost' successfully created within the storage account 'strgfinopsprod'. The container is configured with private access and serves as the centralized repository for Azure Cost Management export data, enabling secure Azure FinOps reporting and Power BI dashboard integration.
Figure 5: Azure Blob Storage container 'mytechclouds-sub-monthly-cost' successfully created within the storage account 'strgfinopsprod'. The container is configured with private access and serves as the centralized repository for Azure Cost Management export data, enabling secure Azure FinOps reporting and Power BI dashboard integration.

Create a Dedicated Microsoft Entra ID Service Account:


To enable secure integration between Azure Storage and Power BI Service, a dedicated Microsoft Entra ID service account was created. This account is used exclusively for accessing Azure Cost Management export data stored in Azure Blob Storage and prevents the use of personal administrator accounts for reporting workloads.


Service Account Details


  1. User Principal Name (UPN): mytechclouds-finops@mytechclouds.com

  2. Display Name: mytechclouds-finops

  3. Tenant: MyTechClouds (MyTechClouds.com)

  4. Account Type: Internal Entra ID User

  5. Purpose: Power BI Service Authentication

 

Storage Access Configuration


After the account was created, Azure RBAC permissions were assigned on the storage account strgfinopsprod.


Assigned Role:

  1. Storage Blob Data Reader


Scope:

  1. Storage Account: strgfinopsprod


Why this Account is Required ?


Using a dedicated service account provides a secure and manageable approach for Power BI connectivity. The account is granted only the permissions required to read cost export files from Azure Storage, following the principle of least privilege.

This account will later be used by Power BI Service to:


  • Authenticate against Azure Storage

  • Access monthly cost export files

  • Refresh datasets automatically

  • Power Azure FinOps dashboards and reports

 

This approach improves security, simplifies administration, and ensures that reporting processes remain independent of individual administrator accounts.


Creating the dedicated Azure service account 'mytechclouds-finops@mytechclouds.com' within Microsoft Entra ID (Azure Active Directory). This account is used to securely access Azure Cost Management exports stored in Azure Blob Storage and enables automated Power BI FinOps reporting and cloud cost analytics for MyTechClouds subscriptions.
Figure 6: Creating the dedicated Azure service account 'mytechclouds-finops@mytechclouds.com' within Microsoft Entra ID (Azure Active Directory). This account is used to securely access Azure Cost Management exports stored in Azure Blob Storage and enables automated Power BI FinOps reporting and cloud cost analytics for MyTechClouds subscriptions.
Assigning the 'Storage Blob Data Reader' role to the service account 'mytechclouds-finops@mytechclouds.com' on the Azure Storage Account 'strgfinopsprod'. This permission enables secure read-only access to Azure Cost Management export files stored in Azure Blob Storage for Power BI FinOps reporting and analytics.
Figure 7: Assigning the 'Storage Blob Data Reader' role to the service account 'mytechclouds-finops@mytechclouds.com' on the Azure Storage Account 'strgfinopsprod'. This permission enables secure read-only access to Azure Cost Management export files stored in Azure Blob Storage for Power BI FinOps reporting and analytics.

 Mytechclouds-finops@mytechclouds.com Service Account have been setup as shown above & required access have been granted on storage account (strgfinopsprod)


Access Azure Cost Management + Billing


Navigate to Cost Management + Billing from the Azure Portal. This service provides centralized visibility into Azure spending, billing information, budgets, exports, and cost optimization recommendations.


The Cost Management service will be used to generate automated cost and usage reports for both Azure subscriptions and store them in Azure Blob Storage for Power BI reporting.


Navigating to Azure Cost Management + Billing from the Azure Portal. This step provides access to Azure cost analysis, billing management, budgeting, and export configuration capabilities used to automate cloud cost reporting and FinOps governance across MyTechClouds subscriptions.
Figure 8: Navigating to Azure Cost Management + Billing from the Azure Portal. This step provides access to Azure cost analysis, billing management, budgeting, and export configuration capabilities used to automate cloud cost reporting and FinOps governance across MyTechClouds subscriptions.

Select the Scope in which you have your subscriptions & create new Export – If you have multiple subscriptions your report will be consolidated including all subscptions, You can create a separate dataset as well for each subscription like Prod-Non Prod.


Create a New Cost Export


From Cost Management + Billing, navigate to:


Cost Management + BillingExports Create Export


Select Cost and Usage (FOCUS) as the dataset type and provide an export name.


Monthly-Cost-Reports-MytechClouds-Subscription:


The FOCUS dataset provides detailed cost information including subscription, resource group, service, resource, location, and billing data required for Power BI dashboards.


Azure provides multiple export templates for different reporting requirements. For this implementation, the export will be configured using the Cost and Usage (FOCUS) dataset, which provides standardized FinOps reporting data for cost analysis and chargeback reporting.


Creating a new Azure Cost Management export using the FOCUS (FinOps Open Cost and Usage Specification) dataset. This export configuration enables automated monthly Azure cost reporting by exporting standardized cost and usage data to Azure Blob Storage for Power BI analytics and FinOps dashboards.
Figure 9: Creating a new Azure Cost Management export using the FOCUS (FinOps Open Cost and Usage Specification) dataset. This export configuration enables automated monthly Azure cost reporting by exporting standardized cost and usage data to Azure Blob Storage for Power BI analytics and FinOps dashboards.
Configuring the Azure Cost Management FOCUS export scope for the 'Monthly-Cost-Reports-MyTechClouds-Subscription' reporting workflow. This export scope defines the dataset configuration that will generate standardized monthly Azure cost reports for storage in Azure Blob Storage and visualization through Power BI dashboards.
Figure 10: Configuring the Azure Cost Management FOCUS export scope for the 'Monthly-Cost-Reports-MyTechClouds-Subscription' reporting workflow. This export scope defines the dataset configuration that will generate standardized monthly Azure cost reports for storage in Azure Blob Storage and visualization through Power BI dashboards.

Configure Export Destination


Configure Azure Blob Storage as the export destination.

Configuration


  1. Subscription: MyTechClouds DEV MCA Subscription

  2. Storage Account: strgfinopsprod

  3. Container: mytechclouds-sub-monthly-cost

  4. Directory: nonprod-mca-subscriptions-cost-exports

  5. Format: CSV

  6. Compression: GZip

 

The exported files will be stored automatically in Azure Blob Storage and will later be consumed by Power BI Service for reporting and visualization.


This configuration enables automated monthly export of Azure billing and consumption data while maintaining a centralized repository for FinOps analytics.


Configuring the export destination for Azure Cost Management reports. The FOCUS cost dataset is exported to the Azure Storage Account 'strgfinopsprod' within the container 'mytechclouds-sub-monthly-cost', using GZIP-compressed CSV files for efficient storage, reporting, and Power BI integration.
Figure 11: Configuring the export destination for Azure Cost Management reports. The FOCUS cost dataset is exported to the Azure Storage Account 'strgfinopsprod' within the container 'mytechclouds-sub-monthly-cost', using GZIP-compressed CSV files for efficient storage, reporting, and Power BI integration.

Export Directories

After configuring the Azure Cost Management exports, dedicated directories were created within the Blob Storage container to organize cost reports by subscription.


Why Separate Directories?


Maintaining separate directories for Production and Development subscriptions provides:


  1. Better organization of export files

  2. Simplified reporting and troubleshooting

  3. Easier subscription-level analysis

  4. Improved data governance and management

 

This structure ensures that Azure Cost Management exports are stored in a consistent and scalable manner, making it easier for Power BI Service to consume and analyze the data for Azure FinOps reporting.


Azure Blob Storage container 'mytechclouds-sub-monthly-cost' displaying dedicated cost export directories for production and non-production Azure subscriptions. The directory structure enables centralized storage and organization of Azure Cost Management export data for Power BI-based FinOps reporting and cloud cost governance.
Figure 12: Azure Blob Storage container 'mytechclouds-sub-monthly-cost' displaying dedicated cost export directories for production and non-production Azure subscriptions. The directory structure enables centralized storage and organization of Azure Cost Management export data for Power BI-based FinOps reporting and cloud cost governance.

You can use cold Tier if you don’t have to access data frequently to save cost.


Now run the datasets to export the cost of each resource:

 

Verify Azure Cost Management Export Configuration

After completing the export configuration, verify that the Azure Cost Management export has been successfully created and is in an active state.


The export should appear under:


Cost Management + The export should appear under:


Billing → Exports


Export Details:-


Export Name: Monthly-Cost-Reports-MytechClouds-Subscription

Dataset Type: Cost and Usage Details (FOCUS)

Schedule Status: Active

Frequency: Monthly

Dataset Version: 1.0r2

Scope: MyTechClouds


Purpose


This export configuration automates the collection of Azure billing and consumption data and stores the reports in Azure Blob Storage on a scheduled basis. Once generated, the exported files can be consumed directly by Power BI Service to create FinOps dashboards and cost analytics reports.

At this stage, the export configuration is active and ready to generate monthly Azure cost reports for reporting, forecasting, and cost optimization activities.

 

Review Export Configuration and Run History


Once the export has been configured, review the export settings to ensure all storage and scheduling parameters are correct before the first execution.

The export configuration contains details about the billing scope, storage destination, file format, and scheduling settings used for Azure Cost Management reporting.


Azure Cost Management export successfully configured for MyTechClouds. The monthly FOCUS-based cost export is active and scheduled to automatically generate Azure subscription cost reports, enabling centralized FinOps reporting, cloud cost governance, and Power BI dashboard analytics.
Figure 13: Azure Cost Management export successfully configured for MyTechClouds. The monthly FOCUS-based cost export is active and scheduled to automatically generate Azure subscription cost reports, enabling centralized FinOps reporting, cloud cost governance, and Power BI dashboard analytics.

Please Note:


We have created this data set for MyTechClouds-DEV-MCA-Subscription, For Prod CSP Subscription Please use the same dataset & make sure you have a different Directory. So that you have reports fetched automatically in different containers.


You can fetch the reports in single directory as well. You need to select Multiple Subscriptions while selecting from the scope level


Detailed view of the Azure Cost Management export configuration for MyTechClouds. The monthly FOCUS export is configured to store Azure subscription cost reports in the Azure Storage Account 'strgfinopsprod' within the container 'mytechclouds-sub-monthly-cost', enabling automated FinOps reporting and Power BI analytics.
Figure 14: Detailed view of the Azure Cost Management export configuration for MyTechClouds. The monthly FOCUS export is configured to store Azure subscription cost reports in the Azure Storage Account 'strgfinopsprod' within the container 'mytechclouds-sub-monthly-cost', enabling automated FinOps reporting and Power BI analytics.

On Click Run Now.


Once this run is complete you can get the report from Container. We have run the export for both the subscriptions & reports will be fetched in different directories as shown below for the both the subscriptions differently.


Validate Export Execution and Storage Location


After the export configuration was completed, the export was executed successfully and Azure Cost Management generated the first cost report files in the configured Azure Storage Account.


The export status can be verified from the Run History section, which confirms successful execution and report generation.


Successful completion of the Azure Cost Management export workflow for MyTechClouds. The monthly FOCUS cost report has been generated and stored in Azure Blob Storage, with export directories available for both Production CSP and Development MCA subscriptions, enabling centralized FinOps reporting and Power BI analytics.
Figure 15: Successful completion of the Azure Cost Management export workflow for MyTechClouds. The monthly FOCUS cost report has been generated and stored in Azure Blob Storage, with export directories available for both Production CSP and Development MCA subscriptions, enabling centralized FinOps reporting and Power BI analytics.

Outcome

 

At this stage, the Azure FinOps data pipeline is fully operational:


  1. Azure Cost Management exports billing data automatically.

  2. Reports are stored securely in Azure Blob Storage.

  3. Separate directories maintain Production and Development subscription data.

  4. Power BI Service can now connect directly to Azure Storage and consume the exported datasets for reporting and visualization.


This completes the Azure Cost Export configuration phase and prepares the environment for Power BI dashboard development.


Sample Report


Successful completion of the Azure Cost Management export workflow for MyTechClouds. The monthly FOCUS cost report has been generated and stored in Azure Blob Storage, with export directories available for both Production CSP and Development MCA subscriptions, enabling centralized FinOps reporting and Power BI analytics.
Figure 15: Successful completion of the Azure Cost Management export workflow for MyTechClouds. The monthly FOCUS cost report has been generated and stored in Azure Blob Storage, with export directories available for both Production CSP and Development MCA subscriptions, enabling centralized FinOps reporting and Power BI analytics.

Steps for Integration of Power BI Service (with MyTechClouds) Storage:


We can use PowerBi Desktop as well but our data reside in Azure so we will use PowerBi Service (Fabric):


Create a Dedicated Power BI Workspace


After Azure Cost Management exports have been configured and cost data is being stored in Azure Blob Storage, the next step is to create a dedicated Power BI workspace to host datasets, dataflows, reports, dashboards, and semantic models.


Since the cost export files reside in Azure Storage and require scheduled refresh capabilities, Power BI Service (Microsoft Fabric) is used instead of relying solely on Power BI Desktop.


Why Power BI Service?


Power BI Service provides:


  1. Cloud-native data integration

  2. Scheduled refresh capabilities

  3. Centralized report management

  4. Dataflow and Semantic Model support

  5. Secure Azure Storage connectivity

  6. Enterprise-grade sharing and governance

 

Steps:


  • Open Power BI Service: - https://app.powerbi.com

  • Sign in using the Power BI account: mytechclouds-finops@mytechclouds.com 

  • Navigate to: Workspaces → Create Workspace

  • Create a dedicated workspace: Workspace Name: MyTechClouds-FinOps

  • Add a meaningful description: FinOps reporting workspace for Azure cost and usage analytics

  • Save the workspace.

 

Workspace Components


Key components of the Azure FinOps reporting solution and their role in Azure cost analytics and governance.
Key components of the Azure FinOps reporting solution and their role in Azure cost analytics and governance.

The workspace will be used to host the following FinOps assets:


Outcome


A dedicated MyTechClouds-FinOps workspace is created within Power BI Service, providing a centralized location for Azure FinOps reporting, governance, and cost analytics. This workspace will serve as the foundation for building enterprise-grade Azure Cost Management dashboards using data exported from Azure Blob Storage.


Power BI Service workspace showing Azure FinOps Dashboard, Subscription Cost Analysis, Resource Group Analysis, Cost by Service reports, Semantic Model, and Azure Cost Dataflow for Azure cloud cost management and reporting.
Power BI Service workspace showing Azure FinOps Dashboard, Subscription Cost Analysis, Resource Group Analysis, Cost by Service reports, Semantic Model, and Azure Cost Dataflow for Azure cloud cost management and reporting.

 

Create a Dataflow and Connect Azure Blob Storage

 

To automate Azure FinOps reporting, a Dataflow Gen2 is created within the MyTechClouds-FinOps workspace. The Dataflow will connect directly to Azure Blob Storage and ingest Azure Cost Management export files for transformation and reporting.


Using Dataflow Gen2 enables centralized data preparation, scheduled refreshes, and reuse of data across multiple Power BI reports and dashboards.

 

Procedure


  • Open the MyTechClouds-FinOps workspace.

  • Click: New → Dataflow Gen2

  • From the list of available connectors, select: Azure Blob Storage

  • Authenticate using the dedicated FinOps account: mytechclouds-finops@mytechclouds.com

  • Ensure the account has the required RBAC permissions on the storage account: Storage Blob Data Reader


Azure Storage Details


Creating Azure Cost Dataflow Gen2 in Power BI Service using Azure Blob Storage for automated Azure Cost Management reporting and FinOps analytics.
Creating Azure Cost Dataflow Gen2 in Power BI Service using Azure Blob Storage for automated Azure Cost Management reporting and FinOps analytics.

Click Connect to Azure Blob Storage Account - https://strgfinopsprod.blob.core.windows.net & authenticate with mytechclouds-finops@mytechclouds.com 


Power BI Dataflow Gen2 Azure Blob Storage connection screen showing storage account URL, Microsoft Entra ID authentication, and secure access configuration for Azure cost reporting.
Power BI Dataflow Gen2 connection to Azure Blob Storage using Microsoft Entra ID for automated Azure Cost Management and FinOps reporting.
Power BI Dataflow Gen2 directory selection screen showing Azure Blob Storage container with production and development Azure Cost Management export folders for centralized FinOps reporting.
Power BI Dataflow Gen2 importing Azure Cost Management export files from Azure Blob Storage directories for multi-subscription FinOps reporting and cost analytics.

 

Configure Dataflow Settings and Combine Azure Cost Export Files

 

After connecting to Azure Blob Storage and selecting the export directories, configure the Dataflow settings to consolidate all Azure Cost Management export files into a single reporting dataset.


This step enables Power BI Service to automatically combine cost data from both Azure subscriptions and prepare it for transformation and dashboard reporting.


Dataflow Configuration


1.     Dataflow Name: Azure Subscriptions Monthly Cost

2.     Entity Name: Azure Subscriptions Monthly Cost

3.     Load Settings: Load to tables


This option loads the imported data directly into the Dataflow table for further transformation and reporting.


File Configuration

 

1.     Exclude Files: manifest. Json


The manifest file contains metadata about the export process and is not required for reporting purposes.

 

 

2.     Combine File: Enabled


  • Storage Locations: Germany West Central

  • Storage Account: strgfinopsprod

  • Container: mytechclouds-sub-monthly-cost

  • Directories: nonprod-mca-subscriptions-cost-export

  • prod-csp-subscriptions-cost-export

 

  1. Benefits of Combining Files

 

  • Consolidates cost data from multiple subscriptions

  • Simplifies Power BI reporting

  • Eliminates manual file processing

  • Supports automatic refreshes

  • Creates a centralized FinOps dataset

 

 

Outcome


At the end of this step, Power BI Dataflow Gen2 is configured to automatically ingest and combine Azure Cost Management export files from both MyTechClouds subscriptions. The resulting dataset will be used for data transformation, semantic modeling, DAX calculations, and Azure FinOps dashboard creation.


Power BI Dataflow Gen2 review screen showing Azure Blob Storage account, container, export directories, file settings, and estimated Azure cost export files before dataflow creation.
Figure: Reviewing and Finalizing the Azure Cost Dataflow Gen2 Configuration
Power BI Dataflow Gen2 screen showing Azure Blob Storage container selection with Production CSP and Development MCA subscription export directories for Azure cost reporting.
Figure: Selecting Azure Cost Export Directories from Azure Blob Storage
Configuring Power BI Dataflow Gen2 settings for Azure Cost Management exports, including file combination, data loading, and automated FinOps reporting.
Figure: Configuring Azure Cost Dataflow Gen2 Settings in Power BI Service

Outcome


At the end of this step, Power BI Service is successfully connected to Azure Blob Storage and is ready to ingest Azure Cost Management export data for transformation, modeling, and dashboard creation. This establishes the foundation for automated Azure FinOps reporting within Microsoft Fabric.

 

Transform and Prepare Azure Cost Data


After importing the Azure Cost Management export files into the Dataflow, the next step is to transform and prepare the data for reporting and visualization.

The objective of this step is to retain only the business-relevant FinOps fields required for cost analysis while removing unnecessary columns from the Azure export dataset.


Data Transformation Activities:


The imported Azure Cost Management dataset contains numerous billing and metadata fields. To optimize performance and simplify reporting, unused columns are removed.


Retained Columns

The following columns are retained for Azure FinOps reporting:



Transformation Summary


  • Removed unnecessary billing metadata fields

  • Standardized column names

  • Combined data from multiple subscriptions

  • Optimized dataset for Power BI reporting

  • Reduced dataset complexity and improved refresh performance

 

Dataflow Configuration


Dataflow Name: Azure-FinOps-Cost-Dataflow

Entity Name: AzureFinOpsCostData


Transformation Results: - Please Not we need to enable Data lake on the storage as we had to use Semantic



Outcome


The Azure Cost Management export data has been successfully transformed into a clean FinOps dataset containing only the fields required for cost reporting, subscription analysis, resource optimization, and forecasting.


The Dataflow is now ready to be published and used as the foundation for creating the Power BI Semantic Model, DAX measures, and Azure FinOps dashboards.


Power BI Dataflow Gen2 transformation screen showing Azure Cost Management export data, selected reporting columns, applied transformation steps, and optimized Azure cost dataset for FinOps dashboards.
Figure: Transforming Azure Cost Management Export Data in Power BI Dataflow Gen2

Create the Semantic Model and Calendar Table


After publishing the Dataflow, the next step is to create a Semantic Model in Power BI Service. The Semantic Model serves as the centralized dataset layer that powers all Azure FinOps reports, dashboards, KPIs, and DAX calculations.


A dedicated Calendar table is also created to support time intelligence calculations such as Month-to-Date (MTD), Previous Month Cost, Cost Variance, Year-to-Date (YTD), and Forecasting.


Create Semantic Model

Navigate to:


MyTechClouds-FinOps Workspace

→ Azure-FinOps-Cost-Dataflow

→ Create Semantic Model


Create the Semantic Model with the following details:


Create Calendar Table


To enable advanced time-based reporting, create a Calendar table using DAX.

The Calendar table contains:


  • Date

  • Year

  • Quarter

  • Month Number

  • Month Name

  • Day

  • Weekday Number

  • Weekday Name

  • Is Weekday

  • Is Weekend

  • Is Current Month

  • Is Current Year

 

This table provides a standardized date dimension for all cost reporting and trend analysis.


Create Relationship:


Create a relationship between the Calendar table and CostData table.


 

Relationship Configuration

  • Cardinality: One-to-Many (1:*)

  • Cross Filter Direction: Single

  • Status: Active

 

Benefits of the Semantic Model


The Semantic Model provides:


  • Centralized Azure FinOps dataset

  • Reusable data model for multiple reports

  • Time intelligence calculations

  • Improved reporting performance

  • Standardized business metrics

  • Consistent KPI calculations across dashboards

 

Outcome


At the end of this step, the Azure-FinOps-Cost-SemanticModel is successfully created and connected to the transformed Azure Cost Management dataset. The Calendar table and Date relationship provide the foundation for building DAX measures, cost forecasting models, trend analysis, and executive Azure FinOps dashboards.



Power BI Azure FinOps Semantic Model with Calendar and CostData tables enabling subscription cost analysis, resource group reporting, service-level insights, and executive cost dashboards.
Power BI Azure FinOps Semantic Model with Calendar and CostData tables enabling subscription cost analysis, resource group reporting, service-level insights, and executive cost dashboards.

Create DAX Measures for Azure FinOps Reporting


After creating the Semantic Model and establishing relationships, the next step is to create DAX measures that will power the Azure FinOps dashboards, KPIs, trend analysis, and forecasting reports.


These measures provide the business logic required for monitoring Azure spend across subscriptions, resource groups, services, and individual resources.

Key DAX Measures Created


The following measures were created within the Azure-FinOps-Cost-SemanticModel:


Benefits of DAX Measures


These calculations enable:


  • Executive cost dashboards

  • Monthly spend tracking

  • Subscription cost comparison

  • Resource optimization analysis

  • Service-level cost breakdown

  • Cost trend monitoring

  • Budget forecasting

  • FinOps governance reporting

 

 

 

Semantic Model Statistics


Data Refresh Configuration


  • Data Source: Azure-FinOps-Cost-Dataflow

  • Refresh Schedule: Daily at 06:00 AM UTC

  • Storage Mode: Import

 

Outcome


At the end of this step, all required Azure FinOps measures have been successfully created and validated within the Semantic Model. These measures will be used to build executive dashboards, subscription cost reports, resource optimization views, and forecasting models in Power BI Service. The semantic layer is now fully prepared for visualization and dashboard development.


Power BI Azure FinOps Semantic Model displaying DAX calculations for Azure subscription cost analysis, resource group spending, Azure OpenAI costs, storage costs, virtual machine costs, and monthly cloud cost forecasting.
Azure FinOps Semantic Model with DAX Measures for Cost Analytics

Final Dashboard & Reporting Visualization:


After creating the Semantic Model and DAX measures, the final step is to build the Azure FinOps Executive Dashboard. This dashboard provides a centralized view of Azure spending, subscription utilization, cost trends, and key FinOps metrics across the MyTechClouds environment.


The dashboard is designed for Cloud Administrators, FinOps teams, IT Management, and Business Stakeholders to monitor Azure consumption and identify cost optimization opportunities.


Dashboard Objectives


  • The Executive Summary dashboard provides:

  • Real-time Azure cost visibility

  • Subscription-level cost analysis

  • Cost trend monitoring

  • Month-over-Month variance tracking

  • Resource utilization insights

  • Executive-level FinOps reporting


Dashboard Filter


The following slicers were added to enable dynamic filtering:


  • Billing Account

  • Subscription

  • Resource Group

  • Date Range

 

These filters allow users to analyze Azure spend across different subscriptions, resource groups, and reporting periods.


Key Performance Indicators (KPIs)


The dashboard includes the following KPI cards:


 

Monthly Cost Trend Analysis


A trend chart was created to visualize:


  • Historical Azure spend

  • Cost growth patterns

  • Forecasted monthly spend

  • Budget consumption trends

 

This visual helps identify spending patterns and future cost projections.

Subscription Cost Overview


A detailed subscription comparison table was added to display:


MyTechClouds Prod CSP Subscription


Subscription ID: b1a3d7f2-4c91-4e8b-9a32-7d3e9c8b0f11

Current Cost: €1,505

Previous Cost: €1,430

Variance: €75

 

MyTechClouds DEV MCA Subscription

  • Subscription ID: b7f6e2c9-8d45-47a1-bc29-5f8e3d2a9c77

  • Current Cost: €900

  • Previous Cost: €850

  • Variance: €50

 

Dashboard Benefits


  • The Azure FinOps Executive Dashboard enables:

  • Executive cost reporting

  • Subscription cost comparison

  • Cost governance and accountability

  • Budget planning and forecasting

  • Resource optimization analysis

  • FinOps maturity and cost transparency


Final Dashboard :


Power BI Azure FinOps Dashboard displaying Azure cost management metrics, subscription cost analysis, monthly cost trends, resource group spending, cost variance, forecasting, and executive cloud financial reporting.
Final Azure FinOps Executive Dashboard in Power BI Service



🌐 Website: www.mytechclouds.com


 
 
 

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page