21. Total row is less than the sum
A Power BI table shows Distinct Customers by region: East 60, West 50. The total row shows 90, not 110. A manager thinks the report is broken. What is happening?
- A.The total row is cached from an old refresh
- B.Power BI always rounds totals down
- C.The measure is re-evaluated for all regions together, and 20 customers bought in both regions, so they are counted once
- D.The West region filter is applied twice
Show answer
Answer: C. The measure is re-evaluated for all regions together, and 20 customers bought in both regions, so they are counted once
Measures are not summed for the total; they are recalculated in the total filter context. A distinct count over both regions counts each customer once, so overlapping customers make the total smaller than the sum. This is correct behaviour, but it should be explained or labelled for readers.
22. Customer counts that do not add up
A table shows distinct customers: January 120, February 100. The total row shows 180, and a manager says it should be 220. Who is right?
- A.The manager; the total should be 220
- B.Neither; the total should be 100
- C.Neither; it should be the average, 110
- D.The report; 40 customers bought in both months
Show answer
Answer: D. The report; 40 customers bought in both months
A distinct count total counts each customer once across the whole period. If 40 customers bought in both months, the total is 120 + 100 − 40 = 180. Adding monthly distinct counts double-counts repeat customers.
23. A variable that ignores CALCULATE
This measure was meant to return all-time sales, but it returns the same as [Sales] for the current filter. Why?
All Time Sales =
VAR s = [Sales]
RETURN CALCULATE(s, ALL('Date'))- A.ALL cannot be used with a date table
- B.s is computed once, before CALCULATE runs
- C.RETURN must come before VAR
- D.Measures cannot be stored in variables
Show answer
Answer: B. s is computed once, before CALCULATE runs
A DAX variable is computed once in the filter context where it is defined, then treated as a constant. CALCULATE changes the context for expressions it evaluates, but s is already a number. Write CALCULATE([Sales], ALL('Date')) instead.
24. Red sales showing on every colour row
A matrix has Product Color on rows. Measure A = CALCULATE([Sales], Product[Color] = "Red") shows Red sales on every row. What does KEEPFILTERS(Product[Color] = "Red") change?
- A.Every row shows total sales of all colours
- B.Only the Red row shows a value; others are blank
- C.Nothing; the two measures are identical
- D.It makes the measure return zero on every row
Show answer
Answer: B. Only the Red row shows a value; others are blank
Without KEEPFILTERS, the new filter replaces the row's colour filter, so every row becomes "Red". KEEPFILTERS intersects the filters instead: on the Blue row, Blue AND Red is empty, so it is blank, and only the Red row returns sales.
25. Average monthly sales for a year
In a card filtered to 2026, which measure returns the average sales per month, not per transaction?
- A.AVERAGE(Sales[Amount])
- B.SUM(Sales[Amount]) / COUNTROWS(Sales)
- C.AVERAGEX(VALUES('Date'[Month]), [Sales])
- D.AVERAGEX(Sales, Sales[Amount])
Show answer
Answer: C. AVERAGEX(VALUES('Date'[Month]), [Sales])
AVERAGEX over the distinct months computes [Sales] for each month (through context transition) and averages those monthly totals. AVERAGE(Sales[Amount]) and the other two give the average transaction value, which is a much smaller number.
26. Same total on every customer row
In the Customer table, a calculated column Total = SUM(Sales[Amount]) shows the grand total of all sales on every row. Changing it to CALCULATE(SUM(Sales[Amount])) gives each customer's total. Why?
- A.CALCULATE turns the row into a filter
- B.CALCULATE sorts the Sales table first
- C.SUM ignores relationships unless indexed
- D.Calculated columns cannot use SUM
Show answer
Answer: A. CALCULATE turns the row into a filter
A calculated column has a row context but no filter context, so SUM sees all of Sales. CALCULATE performs context transition: the current customer row becomes a filter, which flows through the relationship to Sales. Measures called inside a row context do this automatically.
27. A DirectQuery table visual errors out
A Power BI table visual in DirectQuery mode lists every transaction line and fails with an error about too many rows. What limit is being hit?
- A.The 30-visuals-per-page limit in reports
- B.The 1 million row DirectQuery result cap
- C.The 10-slicer limit
- D.The 1 GB file size limit for Desktop
Show answer
Answer: B. The 1 million row DirectQuery result cap
In DirectQuery, Power BI limits how many rows an intermediate query may return (1 million by default). Huge detail tables hit it. Aggregate in the visual, filter more, or use drill-through for detail.
28. A matrix that suddenly shows every product
A matrix of Store × Product used to show only products each store sold. After changing a measure to [Sales] + 0, it lists every product for every store and gets slow. Why?
- A.Adding 0 changes the data type of the measure to text
- B.The relationship became many-to-many
- C.The matrix total was turned off
- D.Blank rows are hidden, but 0 is not blank
Show answer
Answer: D. Blank rows are hidden, but 0 is not blank
Power BI drops row combinations where all measures return BLANK. Forcing 0 makes every store-product pair non-blank, so the visual shows the full cross join and computes far more cells. Return BLANK for no data unless zeros are truly needed.
29. A manager sees every region
RLS works in testing, but one regional manager sees all regions in the Power BI service. She is a Member of the report's workspace. Why?
- A.RLS does not apply to workspace Members
- B.RLS only works in Power BI Desktop
- C.Her browser cache still holds the old data
- D.RLS only works for DirectQuery models
Show answer
Answer: A. RLS does not apply to workspace Members
Workspace Admins, Members and Contributors can edit the content, so RLS does not restrict them. Give report consumers the Viewer role, or share through an app, so RLS rules apply.
30. Share of total with CALCULATE
In a pivot with Region on rows, what does this DAX measure return for each region?
- A.The region's sales as a share of all regions' sales
- B.Always 100%, since both parts use the same filter
- C.The region's share of the previous region's total sales
- D.An error, because ALL cannot be used inside DIVIDE
Show answer
Answer: A. The region's sales as a share of all regions' sales
The numerator uses the current filter (one region). CALCULATE with ALL(Sales[Region]) removes the region filter, so the denominator is the total for all regions. DIVIDE also returns blank instead of an error when the denominator is zero.