MetricSign
Request Access
Lineage

What is a dbt manifest and how does it relate to Power BI lineage?

The dbt manifest (manifest.json) is one of the richest lineage sources available in modern data stacks. It is automatically generated by dbt on every build and contains the complete documentation of the dbt project's structure.

What the manifest contains

The manifest is a large JSON file that includes:

  • Node definitions: Every model, seed, snapshot, and test in the project, with their SQL definitions and metadata
  • Column information: Column names, data types, and descriptions for all documented models
  • Source definitions: External database tables that dbt reads from (not managed by dbt)
  • Dependency graph: The parent/child relationships between all nodes — which model depends on which other models or sources

Using the manifest for Power BI lineage

For Power BI lineage, the manifest provides two critical mappings:

1. dbt model → output table: Each model node in the manifest specifies the database, schema, and table name where it writes output. By matching this output against Power BI datasource configurations, you can build model-to-dataset links.

2. Source → dbt model: Source nodes in the manifest define the external tables dbt reads from. By matching these against ADF pipeline outputs, you can extend lineage further upstream: ADF pipeline → staging table → dbt model → serving table → Power BI dataset.

Manifest-based schema change detection

Beyond lineage, the manifest enables schema change detection. When a dbt model's columns change between builds — because a developer modified the SQL — the manifest diff shows exactly what changed: which column was added, removed, or renamed. This change can be surfaced as a potential risk to downstream Power BI datasets before the refresh actually runs.

dbt Cloud vs. dbt Core manifest access

For dbt Cloud, the manifest is accessible via the dbt Cloud API after each job run. For self-hosted dbt Core, the manifest is generated in the project's target/ directory after each dbt run or dbt build command. MetricSign accesses the dbt Cloud manifest via API and the dbt Core manifest via a CI/CD webhook that uploads the artifact after each run.

Related questions

Related error codes

Related integrations

Related articles

← All questions