Courseiva
Prepare the data →easyMultiple Choice

PL-300 Prepare the data Practice Question

Network Topology
|Table: Sales

Refer to the exhibit. You load the Sales table into Power BI. You need to calculate the total net sales after discount (SalesAmount * (1 - Discount)). However, some rows have Null in the Discount column. What is the correct DAX measure?

⚠ Common exam trap

Many candidates choose Option C, thinking that DAX will automatically ignore NULLs in multiplication, when in fact any NULL operand produces a NULL result, leading to incorrect totals.

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

✓

Net Sales = SUMX(Sales, Sales[SalesAmount] * (1 - COALESCE(Sales[Discount], 0)))

It uses SUMX to iterate over each row of the Sales table, applying the calculation row-by-row, and uses COALESCE to replace any NULL in the Discount column with 0, ensuring the discount is correctly treated as zero for rows without a discount. This avoids the aggregation errors that occur when using SUM on the Discount column directly.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Net Sales = SUM(Sales[SalesAmount]) * (1 - SUM(Sales[Discount]))

    Why it's wrong here

    This expression aggregates the discount column before applying it to sales: SUM(Sales[Discount]) yields the total of all discount values, so the calculation becomes total sales times (1 - total discounts), which is mathematically nonsensical unless there is exactly one row. It also ignores row-level nulls in Discount, and because the multiplication and subtraction are done outside the row context, it does not compute net sales per transaction.

  • ✓

    Net Sales = SUMX(Sales, Sales[SalesAmount] * (1 - COALESCE(Sales[Discount], 0)))

    Why this is correct

    SUMX iterates row by row over the Sales table, so Sales[SalesAmount] and Sales[Discount] are evaluated in the same row. The COALESCE function replaces any null Discount value with 0, preventing null propagation and treating missing discounts as no discount. This correctly computes net revenue per row as SalesAmount * (1 - Discount), then sums across all rows, which matches the intended business definition of net sales.

  • ✗

    Net Sales = SUMX(Sales, Sales[SalesAmount] * (1 - Sales[Discount]))

    Why it's wrong here

    Using SUMX with the raw column reference Sales[Discount] works only if Discount never contains nulls. In DAX, any arithmetic operation involving a null yields null, so a single row with a null discount will cause that row's product to be null, and SUMX will skip or return null for that row, producing an understated or incorrect total. Unlike COALESCE or IF, this expression provides no handling for missing discount values.

  • ✗

    Net Sales = SUMX(Sales, DIVIDE(Sales[SalesAmount], 1 - Sales[Discount]))

    Why it's wrong here

    DIVIDE(Sales[SalesAmount], 1 - Sales[Discount]) is algebraically incorrect for net sales: it effectively computes SalesAmount / (1 - Discount), which is a gross-up formula, not a discount formula. This would increase the result instead of reducing it. Moreover, if Discount is null, the denominator becomes null and DIVIDE returns BLANK unless you supply an alternative result, so the expression is both conceptually wrong and fragile with respect to nulls.

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 →

How Courseiva writes practice questions · Editorial policy

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.