PL-300 Model the data Practice Question
You need to create a calculated column in Power BI that categorizes sales amounts as 'Low', 'Medium', or 'High' based on the value. The column should be evaluated row by row. Which DAX function should you use?
⚠ Common exam trap
It's easy for candidates to choose IF because they are familiar with it from Excel, but SWITCH is the preferred DAX function for multiple conditions in Power BI, and the exam tests this distinction to see if you understand DAX-specific best practices.
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
✓
SWITCH
SWITCH is the correct DAX function because it evaluates an expression (the sales amount) against a series of conditions and returns a corresponding result for each condition. In this scenario, you can use SWITCH(TRUE(), [Sales] < 1000, 'Low', [Sales] < 5000, 'Medium', 'High') to create a calculated column that categorizes values row by row. SWITCH is designed for multiple conditional branches, making it the most efficient and readable choice for this three-tier categorization.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
SWITCH
Why this is correct
SWITCH is the correct choice because it evaluates a single expression against a list of possible values and returns the corresponding result, making it ideal for creating multi-category calculated columns such as 'Low', 'Medium', or 'High'. Unlike nested IF functions, SWITCH keeps the logic linear and readable, and it can evaluate true/false conditions when used with a leading TRUE(), providing a clean row-level classification without context transition complexity.
- ✗
IF
Why it's wrong here
While `IF` can evaluate a single condition and return one of two results, it cannot directly produce three distinct categories ('Low', 'Medium', 'High') from a single expression without nesting multiple `IF` statements, which becomes unwieldy and error-prone. The requirement for a row-by-row categorisation into three tiers is better met by `SWITCH`, which evaluates an expression against a list of possible values cleanly. `IF` is tempting because it is the most intuitive function for simple binary logic, such as flagging sales as 'High' or 'Not High' based on a threshold.
- ✗
CALCULATE
Why it's wrong here
CALCULATE is not appropriate for row-level categorization because it is an aggregation function that modifies the filter context of a measure, typically to evaluate expressions under changed filters. It does not perform scalar per-row condition testing on a table row, and using it in a calculated column for categorizing values would be conceptually incorrect and likely produce errors or unintended results since it expects an aggregation as its first argument.
- ✗
FORMAT
Why it's wrong here
FORMAT is used to convert a value to text using a specified format string, such as formatting a number as currency or a date as a custom string. It does not perform logical comparisons or return category labels based on thresholds; applying FORMAT to a numeric measure would simply change its display representation, not assign it to a tier like 'Low', 'Medium', or 'High'.
Go deeper
Related to this question
About these practice questions
This PL-300 question is part of Courseiva's 217-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.