Microsoft Power BI (Azure) lineage configuration
To import lineage metadata from Microsoft Power BI (Azure), create a connection, data source definition and metadata import job.
Processed metadata
The following Microsoft Power BI (Azure) metadata is processed and displayed in lineage:
- Reports consisting of data from:
- Databases
- Uploaded files such as XSLX or CSV
- PBIX files
- Datasets
- Database connections
- Paginated reports
Limitations
The following data is not processed:
- Reports that cannot be automatically downloaded, as Automatic Data Lineage needs to download reports in order to analyze them.
- Dashboards, datamarts, and scorecards
- Streaming dataflows and streaming semantic models
- Recursive dataflows
- Relationships between reports and applications (reports are supported)
- Automatic connection to SSAS sources when using the Live connection method
- Some use cases of paginated reports, including paginated reports based on a Power BI Azure shared dataset
- Metadata elements that are not exposed due to Power BI API limitations.
Prerequisite configuration
Before you import lineage metadata, ensure that the following prerequisites are met:
- You have an Azure App Registration (Service Principal) created in Microsoft Entra ID (Azure AD). This app registration is used by IBM Automatic Data Lineage to access Power BI metadata.
- In the Azure App Registration, you must:
- Have the following Delegated API permissions assigned and granted (admin consent applied):
- User.Read (Microsoft Graph)
- Report.Read.All (Power BI Service)
- Dataset.Read.All (Power BI Service)
- Workspace.Read.All (Power BI Service)
- Have a valid Client Secret available (application client secret).
- Be added as a member of a cloud Security Group in Microsoft Entra ID.
- In the Power BI Admin Portal, the following tenant settings are enabled and configured to allow the service principal:
- Allow service principals to use Power BI APIs
- Allow service principals to use read-only admin APIs
- Enhance admin APIs responses with detailed metadata
- Enhance admin APIs responses with DAX and mashup expressions
- The security group containing the service principal is granted Contributor (or higher) access to all Power BI workspaces to be analyzed. The Viewer role is not sufficient.
- If access to downloading reports is restricted in the tenant, the service principal is included in the allowed scope.
Creating a metadata import asset
Data source connection
To connect to the data source from which you want to import lineage metadata, you need to select a data source definition and a connection. You can create them before you start creating the metadata import, or you can create them when you create and configure the metadata import asset.
Data source definition
Select Microsoft Power BI (Azure) as the data source type.
Connection
For connection details, see Microsoft Power BI (Azure) connection.
Connection mode
You can connect to Microsoft Power BI (Azure) by using one of the following connection modes:
- Direct connection
- Remote connection with a Manta agent. When an agent is configured, select it from the list. For more information, see Configuring agents for lineage metadata import.
Include and exclude lists
You can include or exclude assets up to the the report level. Provide workspaces and reports in the format workspace/report. Each part is evaluated as a regular expression. Assets which are added later in the data source will also be included or excluded if they match the conditions specified in the lists. Example values:
myWorkspace/: all reports inmyWorkspace,myWorkspace2/.*: all reports inmyWorkspace2,myWorkspace3/myReport1:myReport1frommyWorkspace3,myWorkspace4/myReport[1-5]: any report inmyWorkspace4with a name that starts withmyReportand ends with a digit between 1 and 5.
External inputs
You can add Microsoft Power BI (Azure) Reports, Dataflows, and PowerQuery script as external inputs. The file can have the following structure:
<workspace_name> - A folder with the workspace name.
[report_name].pbix - A PowerBI report.
[dataflow_ID].dataflow - A PowerBI dataflow.
[report_name].txt - Manually extracted PowerQuery scripts for a specific report.
[report_name].rdl - A paginated report.
metadata.json - A file with metadata. If this file is provided, it overrides metadata that is extracted automatically for the specified workspace.