Login to manage your account

Please enter a valid email address.
Forgot Password?
Please enter a valid password.
OR

Don't have an account yet? Sign up

What is the difference between Power Query, the data model and DAX in Power BI?

They are three distinct layers, and confusing them is the most common source of Power BI trouble.

  • Power Query (M language) — the extract and transform layer. It connects to sources and shapes data before it enters the model: removing columns, filtering rows, unpivoting, merging queries, changing types. Everything here happens at refresh time.
  • The data model — how tables relate to each other. Relationships, cardinality, filter direction, hierarchies, and formatting. This is where report correctness is largely determined.
  • DAX (Data Analysis Expressions) — the calculation layer. Measures and calculated columns evaluated when the report is used, responding to whatever filters the user has applied.

The rule that follows: do transformation as far upstream as possible. Best of all in the source database, otherwise in Power Query, and only in DAX when the calculation genuinely depends on user interaction. Filtering rows or renaming columns in DAX rather than Power Query is a common mistake that costs both performance and clarity.

Note: The corollary about calculated columns versus measures follows the same logic — a calculated column is computed at refresh and stored in memory, so if the value does not need to respond to filters, it should have been created in Power Query instead.

All Power BI interview questions

Login to manage your account

Please enter a valid email address.
Forgot Password?
Please enter a valid password.
OR

Don't have an account yet? Sign up as