PowerBI metadata collector
The PowerBI metadata collector provides read-only access to metadata from a PowerBI account.
Power BI is a collection of software services, apps, and connectors that work together to transform unrelated data sources into coherent, visually immersive, and interactive insights. Data sources can include Excel spreadsheets, cloud-based data warehouses, or on-premises hybrid data warehouses. Power BI enables you to connect to data sources, visualize and discover important information, and share insights across the organization.
The Power BI collector harvests metadata from Power BI service workspaces. Use harvested metadata to discover reports and dashboards across workspaces and perform impact analysis to understand how changes to upstream data sources affect Power BI reports.
Version supported
The collector supports Power BI Cloud API v 1.0.
Authentication supported
- Service principal
- User and password
Metadata cataloged
The Power BI collector catalogs the following information:
| Object | Information collected |
|---|---|
| Workspaces | Title, Description |
| Apps | Title, Description |
| Power BI measures | Title, Description, Is hidden, Expression |
| Reports | Title, Reports type, External URL, Embed URL, Preview Image (not supported for paginated report types), Created date, Last modified, Created by, Last modified by, Descriptions |
| Report pages | Title Note: Report pages within Apps can’t be cataloged when using Service Principal authentication due to restrictions in the Power BI APIs. |
| Dashboards | Title, External URL, Embed URL |
| Dashboard tiles | Title, Embed URL |
| Data Sources | Title, Data source type, Connection Details (kind and path) |
| Semantic model | Title, External URL, Description, Created date, Created by, Refresh Schedule |
| Dataflows | Title, Last modified, Description, Created by, Refresh Schedule |
| Power BI tables (Semantic model and Dataflows) | Title, Is hidden, Is Entered Data, Description, Source expression |
| Power BI calculated table | Title, Is hidden, Is Entered Data, Description, Source expression |
| Power BI columns | Title, Descriptions, Data type, Column type, Is hidden, Expression |
| Tabular file | File path, File name |
| File directory | Directory path |
| Database | Title, Type, Identifier, Server, Port |
| Database schema | Title |
| Database table | Title |
| Database column | Title |
| Table | Title, Description |
| Column | Title, Type |
| Calculation group | Title, Description |
| Calculation item | Title, Description, Expression |
Relationships between objects
Catalog pages show relationships between the following data asset types:
| Data asset page | Relationship |
|---|---|
| App | Report, Dashboard, Workspace |
| Power BI Column | Power BI Table |
| Data source | Semantic model, Dataflow, Tabular Data source (Database, Tabular File) |
| Tile | Dashboard, Report, Semantic model |
| Dashboard | Tile, Workspace |
| Dashboard Tile | Associated Semantic model |
| Semantic model | Dashboard Tile, Report |
| Report | Tile, Workspace, Report pages (not applicable for paginated report types), Semantic model (not applicable for paginated report types), Report Note: In Power BI, app reports and their associated workspace reports are two
separate reports with unique report IDs. The collector catalogs the relationship between them. |
| Report Pages | Report (not applicable for paginated report types) |
| Semantic model | Tile, Workspace, Report, Table, Data source, Semantic model, Dataflow |
| Workspace | Report, Semantic model, Dataflow, Dashboard, App |
| Dataflow | Workspace, Table, Data source, Dataflow |
| Power BI Table | Semantic model, Dataflow, Power BI Column, Power BI Measure |
| Power BI Measure | Power BI Table |
| Tabular Data source (Database, Tabular File) | Data source |
| Calculation Group | Power BI Table |
| Calculation Item | Calculation Group |
Lineage for PowerBI
The following lineage information is collected by the Power BI collector. The collector uses the Power BI Scanner APIs to establish lineage to source tables and columns. Be sure to familiarize yourself with the limitations to the scanner APIs
| Object | Lineage available |
|---|---|
| Dashboard Tile | Associated Semantic model |
| Semantic model | Associated Dataflow, Semantic model |
| Dataflow | Dataflow |
| Power BI Column | Associated columns that the column sources its data from or calculates its values from. Note: Lineage can be harvested from Power BI expressions that use parameters in place of server, schema, table, or database names.
Table-level and column-level lineage and catalog relationships aren’t available between tables or columns and reports through the Power BI API. |
| Power BI table | Associated tables that the table sources its data from Note: Note: The collector uses Power BI expressions returned by the APIs to parse the lineage to the source columns/tables. |
| Power BI calculated table | Power BI tables and columns from which the calculated table derives its values. |
| Power BI Measure | Associated columns that the measure sources it data from |
The following table lists supported and unsupported table operations and transformations. This includes source expressions, calculated columns, and measure expressions used in lineage metadata harvesting. Unlisted operations are not harvested.
| Category | Category |
|---|---|
| Supported Parameterized Expressions | The collector parses source expressions that use parameters in place of the following values: full source, server or host, warehouse, database name, schema name, table name, and SQL expressions. |
| Supported data functions | Csv.Document, Excel.Workbook, File.Contents, Folder.Contents, Folder.Files, Json.Document, Odbc.DataSource, Odbc.InferOptions, Odbc.Query, Xml.Document, Web.Contents, Web.Headers, Web.BrowserContents, AmazonRedshift.Database, Sql.Database, Sql.Databases, Snowflake.Databases, PostgreSQL.Database, Databricks.Catalogs, Oracle.Database, Denodo.Contents, Databricks.Query, DatabricksMultiCloud.Catalogs, AnalysisServices.Database, GoogleBigQuery.Database |
| Supported table functions | Table.AddColumn, Table.AddIndexColumn, Table.RenameColumns, Table.NestedJoin, Table.ExpandTableColumn, Table.SplitColumn, Table.DuplicateColumn, Table.CombineColumns |
| Unsupported table operations | Table.Pivot, Table.PromoteHeaders, Table.DemoteHeaders, Table.PrefixColumns, Table.TransformColumnNames, Table.Unpivot, Table.UnpivotOtherColumns, Table.AddFuzzyClusterColumn, Table.AddJoinColumn, Table.AggregateTableColumn, Table.Combine, Table.CombineColumnsToRecord, Table.ExpandRecordColumn, Table.Join, Table.Transpose |
| Supported dataflow functions | PowerPlatform.Dataflows, PowerBI.Dataflows |
| Supported value functions | Value.NativeQuery |
| Supported calculated columns | Lineage from calculated column expressions containing columns with and without table references, Columns or tables with alphanumeric characters, Spaces, Hyphens, and Underscore are supported |
| Supported measures | Lineage from measure expressions containing columns or tables with alphanumeric characters, Spaces, Hyphens, Underscore, Surrounding quotes are supported |