PL-300 practice 2: share of category
A product manager wants each product’s share of its category, in a Category › Product matrix. Category subtotals should show 100%.
Keep the category filter and clear every other product filter in the denominator.
Your task
Create Share of Category: each cell’s Sales Amount divided by the Sales Amount of its whole category.
About this exercise
You practise exam-style task: allexcept with ALLEXCEPT and DIVIDE. 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, Share of Category, fills a Power BI-style matrix grouped by Product[Category], Product[Product] 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
Share of Category =The result to build
| Year | |||
|---|---|---|---|
| Category › Product | 2024 | 2025 | Total |
| Accessories | 100.0% | 100.0% | 100.0% |
| Bike Lock | 18.0% | 33.2% | 25.4% |
| Helmet | 70.9% | 54.6% | 62.9% |
| Water Bottle | 11.1% | 12.2% | 11.6% |
| Bikes | 100.0% | 100.0% | 100.0% |
| City Bike | 27.4% | 32.3% | 29.9% |
| Road Bike | 39.3% | 35.7% | 37.5% |
| Trail Bike | 33.2% | 32.0% | 32.6% |
| Clothing | 100.0% | 100.0% | 100.0% |
| Cycling Jersey | 51.1% | 50.2% | 50.7% |
| Rain Jacket | 48.9% | 49.8% | 49.3% |
| Total | 100.0% | 100.0% | 100.0% |
Last updated 10 November 2026
Opening the exercise…