Tracing a Power BI report back to its source data is the root cause investigation direction in lineage. You start at the broken thing (the report showing wrong data) and trace backward to the origin of the problem.
Step 1: Identify the dataset
Every Power BI report is built on one or more datasets. Open the report in Power BI Service, navigate to the report settings or the lineage view (available in Premium workspaces), and identify the dataset(s) it queries.
Step 2: Examine the dataset's data sources
The Power BI REST API endpoint getDatasources returns the data source configuration for a dataset: the server hostname, database name, and (where applicable) schema and table name. This tells you exactly what the dataset is querying.
For complex datasets with multiple data sources (e.g., a dataset that combines a SQL Server table with a SharePoint list), all data sources are returned.
Step 3: Find the pipeline that loads the data source
This is where you move outside Power BI. You know the database table — now find what writes to it. Options:
- In ADF: Search ADF pipeline activities for copy activities or data flows that write to the identified server and table
- In dbt: Search the manifest for models that output to the identified schema and table name
- In Databricks: Search job notebook paths or Delta table write operations for the table name
Step 4: Trace the pipeline to its inputs
Once you've identified the pipeline, trace its inputs. An ADF pipeline that writes to a staging table reads from a source system — that source system is your ultimate root cause candidate.
Step 5: Check run history at each layer
With the full chain mapped, check whether each component ran successfully and on schedule:
- Did the ADF pipeline run? Did it copy the expected number of rows?
- Did the dbt job succeed? Did it produce output from all models?
- Did the Power BI refresh run after the pipeline completed?
Automating lineage traversal
This manual process works for investigating a specific incident but doesn't scale to a large environment with hundreds of datasets. Purpose-built lineage tools pre-build this map from pipeline run metadata, dbt manifests, and Power BI datasource configurations — so the investigation path is always pre-computed rather than manually traced during an incident.