Streak 0 daysPoints 0

Lesson47/59
Complete itOne measure, many calculations

Calculation groups, as a concept

New functionsSWITCH, SELECTEDVALUE, TOTALYTD, SAMEPERIODLASTYEAR
StatusNot started

A calculation group applies the same calculations (current, year to date, last year) to any measure, picked from a column in the report. In Power BI you build it in the model; the idea is a measure that switches on the selected item.

This lesson has a small table, Calculation, with one column Item: Current, YTD and Last year. It has no relationships. SELECTEDVALUE(Calculation[Item]) tells the measure which row it is in.

Your task

Complete Time Calc so that the YTD row shows the year-to-date Sales Amount and the Last year row the Sales Amount of the same period last year.

*1*1*1*1SALEST1 · 420 ROWSSalesKeyNUMOrder DateDATEShip DateDATEProductKeyNUMCustomerKeyNUMQuantityNUMUnit PriceNUMPRODUCTT2 · 8 ROWSProductKeyNUMProductTEXTCategoryTEXTColorTEXTList PriceNUMStandard CostNUMCUSTOMERT3 · 10 ROWSCustomerKeyNUMCustomerTEXTCountryTEXTSegmentTEXTDATET4 · 731 ROWSDateDATEYearNUMQuarterTEXTMonthTEXTMonth NumberNUMNOTES1Filters flow from 1 to *, alongthe arrow: Product filters Sales.2Select a column or a measureto insert it at the cursor.3Measures in this model:[Sales Amount]Key columnFact tableSALES MODEL · STAR SCHEMASHEET 1 OF 1

About this exercise

You practise one measure, many calculations with SWITCH, SELECTEDVALUE, TOTALYTD and SAMEPERIODLASTYEAR. The exercise runs on a small bike-shop model with a Sales fact table and Product, Customer and Date dimensions, the same star schema in every lesson.

Your measure, Time Calc, fills a Power BI-style matrix grouped by Calculation[Item] and Date[Quarter]. As in a real report, each cell evaluates the measure in its own filter context, and the subtotals and the grand total are evaluated again in theirs rather than added up. When you check your answer, every cell is compared with the expected value, wrong cells are marked, and the hint is about the mistake you made.

Measures that already exist in the model: Sales Amount. Reference them in square brackets, for example [Sales Amount].

Where you start

Time Calc =
SWITCH(SELECTEDVALUE(Calculation[Item]),
  "Current", [Sales Amount],
  "YTD", ,
  "Last year", 
)

The result to build

Slicer: Year is 2025

Expected result for Time Calc
Quarter
ItemQ1Q2Q3Q4Total
Current34,747.4525,115.1029,587.6540,286.10129,736.30
Last year24,861.0538,624.3034,912.8029,260.00127,658.15
YTD34,747.4559,862.5589,450.20129,736.30129,736.30
Total

Last updated 10 November 2026

Opening the exercise…