Power BI lineage via OpenLineage
Send Power BI and Fabric lineage in the open OpenLineage format with MK Automation, down to the column, to any catalog or lineage tool that supports column-level OpenLineage.
Last updated · October 6, 2026
Power BI lineage for any OpenLineage tool
Measure Killer writes the same Power BI lineage as our Databricks Unity Catalog integration in the open OpenLineage format. It is what our Snowflake integration is built on. It runs from MK Automation and is in early access, so we set it up together with you.
Talk to us about setting it up →What you get
OpenLineage is the open standard for exchanging lineage metadata, and a growing number of data catalogs and lineage tools read it. Most of them know your warehouse and your pipelines well. Few of them can see into Power BI, and none of them see what happens inside a semantic model.
Measure Killer fills that gap. It takes the Power BI and Fabric graph it already builds during a tenant scan and sends it as OpenLineage, so the lineage in your tool continues from your source tables into Power BI. You are not limited to the platforms we build a dedicated integration for: any destination that supports OpenLineage at column level can receive it.
What is included
The OpenLineage export covers the same objects as the Unity Catalog and Snowflake integrations:
| Item | What it is |
|---|---|
| Gen1 / Gen2 dataflow | Power Query dataflows in Power BI and Fabric |
| Semantic model | The Power BI models reading from your source tables |
| Power BI report | Every report built on those models |
| Report page | The individual pages of each report |
| Visual | The visuals on each page |
| Paginated report | Paginated (.rdl) reports on the same models |
| Excel file connected to a model | Excel workbooks that query a semantic model |
Every relationship between them carries its column-level lineage,
using OpenLineage’s column lineage facet. That includes the
aggregations and transformations defined inside a semantic model, in
DAX and Power Query, such as Total Price → Total Revenue or
Transaction Date → Month. No connector that reads the Power BI REST
API can see these. Resolving them is what Measure Killer’s
reference detection does.
Which destinations work
Any catalog or lineage tool that ingests OpenLineage with column-level lineage. If your tool reads OpenLineage but ignores the column lineage facet, you will see the object graph without the column mappings, so check column-level support first.
If you are not sure whether your tool qualifies, tell us which one you use and we will check it with you.
How to run it
The export runs from MK Automation, not the desktop app, because it is meant to run on a schedule and keep your catalog current:
- Scan the tenant. The automation job runs a tenant scan as it normally would, building the lineage graph across your Power BI and Fabric estate.
- Point it at your destination. Tell MK Automation where your tool accepts OpenLineage.
- Push. Measure Killer describes the Power BI graph in OpenLineage, matching your source tables to the Power BI items that read from them, and sends it.
- Schedule it. Re-run on the same cadence as your scan. Daily or weekly is typical.
Who this is for
- Teams on a catalog we have no dedicated integration for. If your catalog speaks OpenLineage, Power BI does not have to stay a blind spot in it.
- Open-standard platforms. If you collect lineage from many systems through OpenLineage, Power BI joins the same pipeline as everything else.
- Impact analysis before a table change. Before altering or dropping a column, your catalog answers “which visuals break?”, not just “which pipelines break?”.
Related
- Power BI lineage in Databricks Unity Catalog: the same lineage, written into Unity Catalog
- Power BI lineage in Snowflake: the same lineage, visible in Snowsight
- Source-to-visual column lineage: the lineage engine behind this integration
- MK Automation: the scheduled path this integration runs on
- Run a tenant-wide scan: the scan that builds the graph being pushed