Module 11 · Power BI DAX
"Final project: Kolanut commercial dashboard"
Plan your final project, a DAX-driven commercial dashboard for Kolanut's leadership, and warm up with three of its measures.
About 20 minutes
The problem
Kolanut Distribution's managing director wants one Power BI report for the monthly leadership meeting:
"Are we growing, and is it real growth or just the price rise? Which channels and customers are driving it? Who's slipping away? And I want to trust every number on it."
Every question needs measures from this course: like-for-like time intelligence, price and volume effects, shares and ranks, active and lapsed customers. And "trust every number" means a tested measure library, not a page of dragged-in columns. The full brief and submission are on the course's project page; this lesson gets you started.
The concept
From questions to measures
| Question | Measures | Lesson |
|---|---|---|
| Are we growing? | Revenue, Revenue LY (like for like), YoY %, Revenue YTD, Rolling 3M | 6 |
| Price or volume? | Revenue at 2025 Prices, Price Effect, Volume Effect | 5 |
| Which channels and customers? | % of Total, Customer Rank, Rank LY, Top 5 Share | 4, 8 |
| Who's slipping away? | Active Customers 30d, Lapsed Customers 30d, New Customers | 7, 9 |
| Where's the concentration risk? | Cumulative Share, ABC Class | 9 |
What makes the measure library trustworthy
- Base measures defined once, and everything else built on them.
- Display folders, formats and a description on every measure.
- Like-for-like comparisons everywhere a part year could appear.
- A test sheet: key totals reconciled with the source, and the price and volume effects adding up to the total growth.
Example
A first look at growth by channel, January to June, with the like-for-like YoY % from lesson 6:
| Channel | H1 2025 | H1 2026 | YoY % |
|---|---|---|---|
| Kiosk | 13,013,460 | 13,077,855 | 0.5% |
| Supermarket | 61,940,025 | 76,556,135 | 23.6% |
| Wholesale | 169,209,585 | 201,096,465 | 18.8% |
Kiosk revenue is flat. But prices rose about 12% in January, so flat revenue means kiosks are buying fewer packs: 875 units against 935, down 6.4%. That's the kind of finding the managing director needs, and it only shows up when you look past the headline growth.
Walkthrough
- Start from your
kolanut-dax.pbixmodel. Check the relationships, the marked date table and theDate With Salescolumn. - Organise
_Measuresinto display folders: Sales, Time, Price & Volume, Customers. - Build a test page (hidden before you publish) with the
EVALUATE ROWchecks from lesson 10 and a card showing[Price Effect] + [Volume Effect] - ([Revenue] - [Revenue LY (like for like)]), which should be 0 for 2026. For that to hold at year level, changeVolume Effectto subtract[Revenue LY (like for like)]instead of the plain last-year revenue. - Sketch the report: an overview page (KPIs and trend), a channels and customers page, and a customer health page.
- Open the project brief on the course page and list the measures each task needs.
Practice
Practice
What is the like-for-like YoY % for Wholesale in 2026 (January to June against January to June 2025)? One decimal place.
Practice
What share of 2026 revenue came from Wholesale? One decimal place.
Practice
By how much did Kiosk units change in January to June 2026 against January to June 2025? A percentage to one decimal place (it's negative).
Check your understanding
Answer every question to check.