MetricSign
EN|NLRequest Access
High severitydata_quality

Power BI Refresh Error:
EmptySourceWarningElevatedToError

What does this error mean?

A dbt source freshness check or test configured with warn_if or error_if detected that a source table is empty or has no rows meeting the freshness criteria, and the project configuration escalated this warning to a hard error that fails the run.

Common causes

  • 1A source table was truncated upstream (e.g., by a failed ETL load) and the dbt freshness check found zero rows newer than the warn threshold
  • 2A new data source was configured in dbt but the first load has not yet run, leaving the source table empty while dbt freshness checks are already active
  • 3The error_if threshold is more aggressive than the underlying load frequency, causing a legitimate weekend or holiday data gap to be treated as an error

How to fix it

  1. 1Step 1: Check the actual source table row count and the maximum loaded_at timestamp to determine whether the data is genuinely missing or just delayed.
  2. 2Step 2: If the upstream ETL failed, investigate and re-run the load job. For ADF or Databricks pipelines, check MetricSign's job_failed incidents for the upstream connector.
  3. 3Step 3: If the error threshold is too aggressive for the load frequency, adjust the error_if value in the source YAML to match the expected load cadence.
  4. 4Step 4: Use dbt source freshness --select source:<source_name> to re-check freshness after the upstream load is fixed.

Frequently asked questions

What is the difference between warn_if and error_if in dbt source freshness?

warn_if sets a threshold at which dbt emits a warning but still exits with code 0. error_if sets a stricter threshold at which dbt exits with code 1, blocking downstream model runs in most orchestration setups.

Can I skip source freshness checks for a specific source without removing the config?

Yes. Pass --exclude source:<source_name> when running dbt source freshness, or temporarily set the source's freshness config to null to disable it without removing the definition.

Other data_quality errors