PL-300 Model the data Practice Question
Which TWO DAX functions can be used to create a calculated table in Power BI?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
FILTER
FILTER (B) is correct because it is a table-returning DAX function that produces a filtered table, which can be used as the expression of a calculated table (e.g., a table defined as FILTER(Sales, Sales[Amount] > 1000)). SUMMARIZECOLUMNS (D) is also correct because it returns a table grouped by specified columns with aggregated values, making it a valid expression for creating a calculated table. Both functions return table values, which is the requirement for a calculated table's definition. SELECTEDVALUE (A) returns a scalar value from a single-column context, not a table, so it cannot define a calculated table. CALCULATE (C) modifies filter context and returns a scalar value, not a table, so it is invalid here. SUMX (E) is an iterator that returns a scalar aggregate, not a table, so it also cannot create a calculated table.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
SELECTEDVALUE
Why it's wrong here
SELECTEDVALUE returns a scalar value from a column when exactly one distinct value is present, otherwise it returns blank or the optional default value. Because a calculated table must be defined by an expression that returns a table object, a scalar-returning function cannot produce the rowset needed for a table definition. It is a context-dependent measure function, not a table function.
- ✓
FILTER
Why this is correct
FILTER returns a table that contains only the rows from its first argument that satisfy the Boolean condition provided as the second argument. This table-returning behavior makes it a valid DAX function for creating a calculated table, such as a filtered subset of a fact or dimension table. For example, FILTER('Sales', 'Sales'[Amount] > 1000) yields a table that can be stored as a calculated table.
- ✗
CALCULATE
Why it's wrong here
CALCULATE always returns a scalar value because it evaluates its first argument as a scalar expression under a modified filter context. Although it is the most important function for measures and context transitions, it cannot be used to define a calculated table because the outer expression must be a table object. The table-returning equivalent is CALCULATETABLE, which preserves the same filter semantics but returns a result set.
- ✓
SUMMARIZECOLUMNS
Why this is correct
SUMMARIZECOLUMNS returns a table that groups the specified columns and optionally adds aggregate columns, such as sums or averages, in a single table result. This makes it a valid and powerful function for calculated tables, especially when you need a summary or rollup table by different granularities. It can group by multiple columns and add calculated aggregates without requiring a separate base rowset.
- ✗
SUMX
Why it's wrong here
SUMX is an iterator that evaluates a scalar expression for every row of the root table and then adds those scalar results together to produce a single numeric total. Because SUMX returns one scalar value rather than a table, it cannot serve as the definition of a calculated table. It may appear inside a calculated-table definition as part of a computed aggregate, but the outermost function must return a table object.
Go deeper
Related to this question
About these practice questions
This PL-300 question is part of Courseiva's 524-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This PL-300 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PL-300 exam.