BETA FEATURE: BI Optimizer is a beta feature. Functionality, configuration steps, and supported options are subject to change as the feature evolves.
BI Optimizer for Power BI is a solution designed to analyze and optimize Power BI environments by identifying redundant, duplicate, or underutilized Reports and Dashboards. Its primary goal is to streamline BI assets, reduce clutter, and improve cost efficiency.
The configuration of the BI Optimizer for Power BI requires configuration in both Azure and Metric Insights environments and thus requires the cooperation of both Azure Admin(s) and Metric Insights Admin(s). Once the Azure configuration is done, an MI Admin can proceed with their checklist of steps.
The high level procedure for the two roles is as follows:
Azure Admin:
- Review and set up Prerequisites
- Set up Azure for Power BI Lineage Collection with Log Analytics (recommended)
OR - Set up Azure for Power BI Lineage Collection without Log Analytics;
- Set Up Azure to Collect User Permissions and Groups to Users Objects.
MI Admin:
- Configure Power BI Lineage Collection with Log Analytics (recommended)
OR - Configure Power BI Lineage Collection without Log Analytics;
- Configure Power BI Data Source to Collect User Permissions and Groups to Users Objects;
- Configure BI Optimizer for Power BI.
Azure Admin's Checklist
1. Complete these Prerequisites for Connecting to Microsoft Power BI Cloud
Ensure Prerequisites for Connecting to Microsoft Power BI Cloud are met for your selected Power BI authentication type in MI:
- Service Principal;
- OAuth (Create an App for Use in Azure AD and Grant Required Power BI Permissions to Service Account);
NOTE: If Log Analytics will be configured (Step 2.1), Client Secret must not be generated for OAuth. - Password (described in the Prerequisites for Connecting to Microsoft Power BI Cloud article).
NOTE: The Azure application configured for the selected authentication type is the same Azure application used throughout the entire Azure configuration.
2. Set up Azure for Power BI Lineage Collection
It is possible to set up Lineage Collection with and without collecting Log Analytics for Power BI. We recommend configuring the collection of Log Analytics to improve the precision of Lineage metadata collection.
With Log Analytics enabled, Lineage returns more accurate data on columns and tables from which the Reports are derived.
With Log Analytics is disabled, the metadata returned from Power BI that is available in Lineage is less accurate, showing all columns from a table, not just the columns used in the report.
NOTE: The easiest and most affordable way to get logs into a Workspace in Azure is to allow a Service Principal to have access to the Power BI Workspaces that must stream their logs into the Log Analytics Workspace. The other, more expensive way is to allow Power BI Workspaces to stream their logs into the Log Analytics Workspace in Azure.
2.1. Configure Azure with Log Analytics
IMPORTANT:
For Azure configuration with Log Analytics
- Authentication user must be a Fabric Administrator, or Service Principal authentication must be used.
- To assign a role that grants access to the Log Analytics Workspace, the user must have at least the Application Administrator role. This is required to configure the Azure App.
To configure Azure with Log Analytics:
- Enable Log Analytics integration in both Azure and the Power BI Admin Portal,
- Configure an Azure application,
- Grant the Tenant.Read.All permission.
- Share the Azure application details required for the selected Power BI authentication method with your organization's Metric Insights Administrator
Find complete instructions in this article: Configure Power BI Lineage Collection with Log Analytics.
2.2. Configure Azure withOUT Log Analytics
To configure Azure without Log Analytics:
- Grant the Azure application the Tenant.Read.All permission.
- Share the Azure application details required for the selected Power BI authentication method with your organization's Metric Insights Administrator.
3. Set Up Azure to Collect User Permissions and Groups to Users Objects
This step is required to configure Azure to enable the Microsoft Power BI Cloud Data Source in Metric Insights to collect the User Permissions and Groups to Users objects for subsequent Dataset creation.
To set up Azure to collect User Permissions and Groups to Users Objects:
- Grant Tenant.Read.All, Group.Read.All, and User.ReadBasic.All permissions.
- Share the Azure application details required for the selected Power BI authentication method with your organization's Metric Insights Administrator.
Find complete instructions in this article: Set Up Azure to Collect User Permissions and Groups to Users Objects
MI Admin's Checklist
1. Set up Power BI Lineage Collection in MI
Based on whether you set up Lineage Collection with or without collecting Log Analytics for Power BI, there are two approaches in configuring Metric Insights as well.
1.1. Configure Power BI Lineage Collection with Log Analytics
To configure Power BI Lineage Collection with Log Analytics in MI:
- Enable Metadata Collection with Log Analytics.
- Enable Metadata Collection in Metric Insights.
- Configure Power BI Cloud Data Source in Metric Insights.
Find complete instructions in this article: Configure Power BI Lineage Collection with Log Analytics
1.2. Configure Power BI Lineage Collection withOUT Log Analytics
To configure Power BI Lineage Collection with Log Analytics in MI:
- Enable Metadata Collection in Metric Insights.
- Configure Power BI Cloud Data Source in Metric Insights.
Find complete instructions in this article: Configure Power BI Lineage Collection without Log Analytics
2. Configure Power BI Data Source to Collect User Permissions and Groups to Users Objects
This step explains how to configure Microsoft Power BI Cloud Data Source to collect the User Permissions and Groups to Users objects for subsequent Dataset creation.
To configure Power BI Data Source to collect User Permissions and Groups to Users Objects:
- Configure Data Source parameters.
- Refresh Object List.
- Configure Object List Refresh Trigger.
Find complete instructions in this article: Configure Power BI Data Source to Collect User Permissions and Groups to Users Objects
3. Configure Power BI Optimizer
This is a final step of the BI Optimizer configuration, after which you will have BI Optimizer up and running on your instance.
To configure Power BI Optimizer:
- Set a System Variable.
- Sync Metadata for Power BI Data Source.
- Configure Notification Schedule.
- Configure External Application.
- Create Datasets.
- Create App Template and App.
- Configure Custom Scripts.
- Associate Notification Schedule with Custom Scripts.
Find complete instructions in this article: Configure BI Optimizer for Power BI