Bird
Raised Fist0
Power BIbi_tool~5 mins

SUMX and iterators in Power BI - Step-by-Step Guide

Choose your learning style10 modes available
Introduction
SUMX helps you add up numbers by looking at each row one by one. It solves the problem when you want to do math on each row before adding, like multiplying price by quantity for every sale.
When you want to calculate total sales by multiplying price and quantity for each product.
When you need to sum values that depend on a calculation per row, like discounts applied per item.
When your data requires adding up results of a formula, not just a simple column sum.
When you want to create a measure that sums values from a filtered or calculated table.
When you want to iterate over a table to perform row-level calculations before summing.
Steps
Step 1: Open
- Power BI Desktop
Power BI Desktop opens with your report and data loaded
Step 2: Click
- Modeling tab
Modeling tab options appear
Step 3: Click
- New measure button
A formula bar appears at the top for entering DAX
Step 4: Type
- formula bar
You enter the SUMX formula, for example: SUMX(Sales, Sales[Price] * Sales[Quantity])
💡 Use table name first, then the expression to calculate per row
Step 5: Press
- Enter key
The new measure is created and appears in the Fields pane
Step 6: Add
- Report canvas
Drag the new measure to a card or table visual to see the total calculated by SUMX
Before vs After
Before
No measure exists to calculate total sales by multiplying price and quantity
After
A measure named Total Sales shows the sum of Price times Quantity for all sales rows
Settings Reference
New measure
📍 Modeling tab > New measure
Create a new calculation using DAX like SUMX
Default: No default formula
Common Mistakes
Using SUM instead of SUMX when multiplication per row is needed
SUM just adds a column and does not multiply price by quantity per row
Use SUMX with a table and an expression to multiply price and quantity for each row before summing
Writing the expression without specifying the table columns inside SUMX
SUMX needs a table and a row expression referencing columns from that table
Write SUMX(TableName, TableName[Column1] * TableName[Column2])
Summary
SUMX lets you add up results of calculations done row by row.
Use SUMX when you need to multiply or calculate per row before summing.
Remember to specify the table and the expression inside SUMX correctly.

Practice

(1/5)
1. What does the SUMX function do in Power BI?
easy
A. It sums values after calculating an expression for each row in a table.
B. It counts the number of rows in a table.
C. It filters rows based on a condition.
D. It returns the maximum value from a column.

Solution

  1. Step 1: Understand the purpose of SUMX

    SUMX iterates over each row of a table and evaluates an expression for that row.
  2. Step 2: Summation after calculation

    It then sums all the results of these row-wise calculations to produce a total.
  3. Final Answer:

    It sums values after calculating an expression for each row in a table. -> Option A
  4. Quick Check:

    SUMX = sum after row calculation [OK]
Hint: Remember: SUMX sums after row-by-row math [OK]
Common Mistakes:
  • Confusing SUMX with SUM which sums directly
  • Thinking SUMX counts rows
  • Assuming SUMX filters data
2. Which of the following is the correct syntax for using SUMX in DAX?
easy
A. SUMX(Table, Expression)
B. SUMX(Expression, Table)
C. SUMX(Table)
D. SUMX(Expression)

Solution

  1. Step 1: Identify SUMX parameters

    SUMX requires two parameters: a table to iterate over and an expression to evaluate per row.
  2. Step 2: Confirm correct order

    The correct order is SUMX(Table, Expression), where Table is first, then Expression.
  3. Final Answer:

    SUMX(Table, Expression) -> Option A
  4. Quick Check:

    SUMX syntax = SUMX(Table, Expression) [OK]
Hint: Table first, expression second in SUMX [OK]
Common Mistakes:
  • Swapping the order of parameters
  • Providing only one argument
  • Using incorrect parameter types
3. Given the table Sales with columns Quantity and Price, what is the result of this measure?
SUMX(Sales, Sales[Quantity] * Sales[Price])
medium
A. The maximum Quantity sold in any transaction
B. The total number of sales transactions
C. The average price of all sales
D. The sum of Quantity multiplied by Price for each row

Solution

  1. Step 1: Understand the expression inside SUMX

    For each row, it multiplies Quantity by Price, calculating the sales amount per transaction.
  2. Step 2: SUMX sums all these calculated amounts

    It adds all these row-wise sales amounts to get the total sales value.
  3. Final Answer:

    The sum of Quantity multiplied by Price for each row -> Option D
  4. Quick Check:

    SUMX = sum of (Quantity * Price) [OK]
Hint: SUMX sums after multiplying per row [OK]
Common Mistakes:
  • Thinking it counts rows instead of summing
  • Confusing sum with average or max
  • Ignoring the multiplication inside SUMX
4. Identify the error in this DAX formula:
SUMX(Sales, Sales[Quantity] + )
medium
A. Table name is incorrect
B. Missing expression after the plus sign
C. SUMX cannot use addition inside expression
D. Quantity column does not exist

Solution

  1. Step 1: Check the expression inside SUMX

    The expression ends with a plus sign but has no value after it, making it incomplete.
  2. Step 2: Understand syntax requirements

    Every operator must have operands on both sides; missing operand causes syntax error.
  3. Final Answer:

    Missing expression after the plus sign -> Option B
  4. Quick Check:

    Incomplete expression causes syntax error [OK]
Hint: Check for incomplete expressions after operators [OK]
Common Mistakes:
  • Ignoring incomplete expressions
  • Assuming SUMX disallows addition
  • Mistaking table or column names
5. You want to calculate total profit where profit per sale is (Price - Cost) * Quantity. Which DAX formula using SUMX correctly calculates this?
hard
A. SUMX(Sales, Sales[Price] - Sales[Cost] * Sales[Quantity])
B. SUMX(Sales, Sales[Price] - (Sales[Cost] * Sales[Quantity]))
C. SUMX(Sales, (Sales[Price] - Sales[Cost]) * Sales[Quantity])
D. SUMX(Sales, Sales[Price] * Sales[Cost] * Sales[Quantity])

Solution

  1. Step 1: Understand the profit formula per row

    Profit per sale is (Price - Cost) multiplied by Quantity, so parentheses are needed to subtract before multiplying.
  2. Step 2: Check each option's expression

    SUMX(Sales, (Sales[Price] - Sales[Cost]) * Sales[Quantity]) correctly uses parentheses to subtract Price and Cost first, then multiplies by Quantity.
  3. Final Answer:

    SUMX(Sales, (Sales[Price] - Sales[Cost]) * Sales[Quantity]) -> Option C
  4. Quick Check:

    Correct order of operations with parentheses [OK]
Hint: Use parentheses to ensure correct math order [OK]
Common Mistakes:
  • Missing parentheses causing wrong calculation
  • Multiplying Cost by Quantity before subtracting
  • Using addition instead of subtraction
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard