MetricSign
EN|NLRequest Access
Medium severitydata flow

Power BI Refresh Error:
DF-Snowflake-IncompatibleDataType

What does this error mean?

A column in the data flow has a data type that cannot be converted to or from the Snowflake type for that column.

Common causes

  • 1A derived column or transformation produces a complex type (struct, array, map) that cannot be written to Snowflake's flat column types
  • 2The Snowflake dataset schema was imported with one data type and the source has since changed to a different, incompatible type
  • 3A Snowflake VARIANT column is being mapped to a non-string ADF column type without an explicit cast
  • 4A timestamp with timezone in Snowflake is being mapped to a plain timestamp column in ADF without timezone handling

How to fix it

  1. 1In ADF Monitor, open the failed activity run and read the error detail — it identifies the column name and the incompatible type pair.
  2. 2In ADF Studio, open the data flow and find the transformation that produces the problematic column.
  3. 3Add a derived column transformation before the Snowflake sink to cast the column to a compatible type — for example: `toString(complexColumn)` to serialize a complex type to a string.
  4. 4For Snowflake VARIANT columns, cast the ADF column to string explicitly using `toString()` before writing — Snowflake will parse the JSON/semi-structured string automatically.
  5. 5Re-import the Snowflake dataset schema if the source schema changed and the dataset is out of date.
  6. 6Enable data flow debug mode to run a row preview and confirm the cast produces the expected output before the full run.

Frequently asked questions

What Snowflake column types cause incompatibility in ADF?

VARIANT, ARRAY, and OBJECT are the most common incompatibilities — cast them to string before writing. TIMESTAMP_TZ can also cause issues if the ADF timestamp column doesn't preserve timezone info.

How is IncompatibleDataType different from InvalidDataType?

IncompatibleDataType means valid types exist on both sides but are incompatible (e.g. struct vs VARCHAR). InvalidDataType means the type itself is invalid or unrecognized in Snowflake — a type Snowflake does not support at all.

Can I use debug mode to identify which column is incompatible before fixing it?

Yes — enable debug mode, run with a small row limit (100 rows), and watch the data preview at the sink. The error appears immediately and identifies the column name.

Will downstream Power BI datasets be affected?

Yes — the pipeline fails without writing to Snowflake. If Power BI reads from the Snowflake table, the dataset will show stale data.

Official documentation: https://learn.microsoft.com/en-us/azure/data-factory/data-flow-troubleshoot-guide

Other data flow errors