DP-600 - Prepare Data (46% of the exam) - Section 2.9

Select, filter, and aggregate data using DAX queries against a semantic model.

Write DAX queries using EVALUATE and SUMMARIZECOLUMNS to retrieve tabular results from a semantic model. Use CALCULATE to modify filter context and apply measures to aggregate data, distinguishing DAX query syntax from the measure expressions written in the model editor.

DAX queriesEVALUATESUMMARIZECOLUMNSCALCULATEmeasures

Practice question for this objective

Free samplePrepare Datahard

An analytics engineer wants a single DAX query that returns total sales by region, but restricted to a specific year, without changing any underlying measure. They intend to apply the year restriction as a filter argument inside the grouping function itself so the filter is part of the query rather than baked into the model. Which expression correctly limits the SUMMARIZECOLUMNS result to the year 2025?

EVALUATE
  SUMMARIZECOLUMNS(
    'Region'[RegionName],
    <filter argument>,
    "Total Sales", [Sales Amount]
  )
  • AALL('Date'[CalendarYear]) as the filter argument, so the function clears any year context and then reports sales across every available calendar year.
  • BVALUES('Date'[CalendarYear]) as the filter argument, so the function lists each distinct calendar year and reports the sales recorded against it.
  • CFILTER('Date', 'Date'[CalendarYear] = 2025) as the filter argument, so the table expression is kept only where the calendar year equals the chosen value. Correct
  • DTREATAS(2025, 'Date'[CalendarYear]) as the filter argument, so the literal value is mapped onto the year column to constrain the grouped sales total.
Restrict a SUMMARIZECOLUMNS result at query time by passing a FILTER table expression as a filter argument rather than altering the model. SUMMARIZECOLUMNS accepts filter table expressions as arguments that constrain the groups it evaluates, so a FILTER over the Date table keeping only CalendarYear 2025 narrows the grouped output to that year while leaving the underlying measure unchanged.

Why A is wrong: ALL removes the year filter rather than restricting to 2025, so it would broaden the result to all years instead of limiting it as the requirement demands.

Why B is wrong: VALUES returns every distinct year rather than the single chosen one, so it does not restrict the result to 2025 and instead leaves all years in scope.

Why C is correct: A FILTER table that keeps Date rows where CalendarYear equals 2025 is a valid filter argument to SUMMARIZECOLUMNS, so the grouped sales are restricted to that year exactly as required.

Why D is wrong: TREATAS needs a table of values as its first argument, not a bare scalar literal, so passing the number 2025 alone is invalid and the query would fail.

See more DP-600 practice questions, answers explained.

Exam traps in Prepare Data

Answers that look right on this material and are not. Each one is a distractor from a different question in the DP-600 bank for this domain.

  • Wrap the grouping in CALCULATETABLE, passing the SUMMARIZECOLUMNS expression and the channel Boolean filter so the filter applies to the whole grouped table at once.

    Why it is wrong: CALCULATETABLE can apply a filter to a table expression, but passing SUMMARIZECOLUMNS inside it is not the supported pattern and can raise errors, so it is not the most direct way to filter the grouped query here.

  • RELATED, passing the constructed table and the target Region column, so the constructed region values are looked up against Region and applied as the query filter set.

    Why it is wrong: RELATED follows an existing relationship to fetch a single related value in row context and cannot apply a constructed table as a filter, so it does not meet the cross-table mapping requirement.

  • SELECT, naming the columns and the measure first, because a DAX query mirrors T-SQL projection syntax and resolves the table from the FROM clause that follows.

    Why it is wrong: SELECT is T-SQL, not DAX, and the DAX query language does not use it, so a statement that opens with SELECT cannot be parsed by the model engine at all.

Examworthy is not affiliated with or endorsed by Microsoft. Original, blueprint-aligned practice material only.