Day 01 Part 2 — Power BI Dashboards¶
Now that you can build a basic report, this session covers what turns a report into a professional, interactive dashboard: advanced DAX, slicers and drill-through, bookmarks, and publishing for stakeholders.
Learning Objectives¶
- Write intermediate DAX with
CALCULATEand filter context - Add interactivity: slicers, drill-through, drill-down
- Use bookmarks and buttons for navigation
- Publish and share dashboards via Power BI Service
- Apply dashboard design best practices
CALCULATE — The Most Important DAX Function¶
CALCULATE modifies the filter context of a measure. It's the function that unlocks 80% of real DAX.
-- Revenue, but only for completed orders
Completed Revenue = CALCULATE([Total Revenue], Sales[Status] = "Completed")
-- Revenue for a specific category
Electronics Revenue = CALCULATE([Total Revenue], Products[Category] = "Electronics")
-- Percentage of total (remove the category filter)
Revenue % of Total =
DIVIDE(
[Total Revenue],
CALCULATE([Total Revenue], ALL(Products[Category])),
0
)
Filter context is the heart of DAX
Every measure is evaluated within a "filter context" — the slicers, rows, and columns active where it's displayed. CALCULATE lets you override that context. Understanding filter context is the single biggest leap in DAX mastery.
Time Intelligence DAX¶
Revenue YTD = TOTALYTD([Total Revenue], DateTable[Date])
Revenue Last Year = CALCULATE([Total Revenue], SAMEPERIODLASTYEAR(DateTable[Date]))
Revenue YoY % = DIVIDE([Total Revenue] - [Revenue Last Year], [Revenue Last Year], 0)
Revenue Last Month = CALCULATE([Total Revenue], PREVIOUSMONTH(DateTable[Date]))
Rolling 3M Avg = AVERAGEX(DATESINPERIOD(DateTable[Date], MAX(DateTable[Date]), -3, MONTH), [Total Revenue])
Interactivity¶
Slicers¶
Filter controls the user interacts with. Add a slicer, drop a field on it (date, category, region). Connect to visuals via Format → Edit Interactions.
Drill-down¶
On a chart with a hierarchy (Year → Quarter → Month), enable drill-down so users can click into detail.
Drill-through¶
Right-click a data point → drill through to a dedicated detail page filtered to that selection. Set up in Visualizations → Drill through → drag the field.
Cross-filtering¶
Clicking a bar in one visual filters all others on the page. This is on by default — control it with Edit Interactions.
Bookmarks and Navigation¶
- Bookmarks capture the current state (filters, visibility). Use them for guided stories or to toggle between views.
- Buttons + bookmarks = custom navigation (e.g., a "Reset filters" button, or tabs that switch between chart types).
Publishing and Sharing¶
In the Service: - Set up scheduled refresh so the data updates automatically (requires a gateway for on-prem sources) - Share with colleagues or build an App for wider distribution - Row-Level Security (RLS): restrict what data each user sees (e.g., regional managers see only their region)
Set up refresh failure alerts
When you schedule a refresh, configure failure notifications to go to YOU — not to discover a stale dashboard when the CEO mentions it. Power BI Service can email you when a refresh fails.
Dashboard Design Best Practices¶
- KPI cards across the top — the headline numbers
- Most important visual largest and top-left — eyes go there first
- 3-5 KPIs maximum — don't overload
- Consistent colours — one accent colour, red reserved for alerts
- Slicers grouped together — usually top or left
- Mobile layout — use the phone layout view if executives view on mobile
Practice Exercises¶
Warm-up
1. Write a CALCULATE measure for revenue filtered to one category.
2. Add a slicer for date and connect it to all visuals on the page.
3. Create a YoY growth measure and display it in a KPI card.
Main
4. Build a 2-page report with drill-through from a summary page to a detail page.
5. Add a "% of total" measure using CALCULATE + ALL.
6. Create bookmarks to toggle between a chart view and a table view, with buttons.
Stretch 7. Set up Row-Level Security so a "West region" role only sees West data. 8. Publish to Power BI Service and configure a scheduled refresh.
Interview Questions¶
[Beginner] What does a slicer do in Power BI?
[Mid-level] Explain what CALCULATE does and why it's important in DAX.
[Mid-level] What is filter context? How does a measure know what to calculate?
[Mid-level] What is the difference between drill-down and drill-through?
[Senior] How would you implement Row-Level Security so each regional manager sees only their region's data?