MetricSign
EN|NLRequest Access
High severitydbt

Power BI Refresh Error:
Compilation Error: node not found

What does this error mean?

dbt could not resolve a ref() or source() call because the referenced model or source does not exist in the project. This configuration error prevents compilation.

Common causes

  • 1A `{{ ref('model_name') }}` call references a model name that was deleted, renamed, or never existed
  • 2A `{{ source('source_name', 'table_name') }}` call references a source or table not defined in any sources.yml file
  • 3A model file was moved to a different subdirectory and the ref() name now conflicts or the file is excluded by model-paths
  • 4A dbt package was updated and a model or source it previously exposed was removed or renamed
  • 5A typo in the ref() or source() argument

How to fix it

  1. 1Search the project for the exact string in the error message to find where the broken ref() or source() is used.
  2. 2Run `dbt compile` to see all compilation errors at once before attempting a run.
  3. 3If the model was renamed, update all `{{ ref('old_name') }}` references to `{{ ref('new_name') }}`.
  4. 4If the source was removed from sources.yml, either add it back or remove the `{{ source() }}` reference.
  5. 5Check your model-paths configuration in dbt_project.yml to ensure the file containing the referenced model is included.
  6. 6After updating a dbt package, review the package's changelog for breaking changes to model or source names.

Frequently asked questions

How do I find all broken refs in a large project quickly?

Run `dbt compile` — it lists every compilation error with file path and line number. Fix all errors before running. For large projects, also use `dbt ls` to verify expected models appear in the node list.

Official documentation: dbt-docs

Other dbt errors