Streak 0 daysPoints 0

Lesson30/59
Filter direction

Products per customer with CROSSFILTER

New functionsCALCULATE, CROSSFILTER, COUNTROWS
StatusNot started

Filters flow from the one side to the many side: from Customer to Sales, from Product to Sales. A customer row filters Sales, but not Product, so COUNTROWS(Product) shows all 8 products for every customer.

CROSSFILTER(Sales[ProductKey], Product[ProductKey], BOTH) lets the filter on Sales flow on to Product for one calculation. Then Product only keeps the products the customer bought.

Your task

Write Products Bought: COUNTROWS(Product), counted with the Sales–Product relationship filtering in both directions.

*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 filter direction with CALCULATE, CROSSFILTER and COUNTROWS. 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, Products Bought, fills a Power BI-style matrix grouped by Customer[Customer] and Date[Year]. 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

Products Bought =

The result to build

Expected result for Products Bought
Year
Customer20242025Total
Anna Berger778
Cycles Marchand778
Emma Clarke11
Fietsen De Vries677
Jonas Weber768
Léa Moreau557
Northside Bikes888
Oliver Hughes537
Sanne Bakker648
Velo Haus788
Total888

Last updated 10 November 2026

Opening the exercise…