1. Compare part-to-whole using CALCULATE with ALL
To compare a filtered result (e.g., sales by region) against the total, use:
CALCULATE([Total Sales], ALL('Region'))This removes filters on the region column while keeping all others intact โ essential for percentage-of-total measures.
2. Always check data types in relationships
If visuals aren't matching up after creating a relationship, the first suspect is mismatched data types (e.g., text vs numeric). Power BI won't warn you โ it just fails quietly. Always verify both sides of a relationship share the exact same type.
3. Row-Level Security controls user access
To restrict report viewers to only their own department or territory, configure RLS (Row-Level Security). It filters dataset rows based on the logged-in user โ no need to build separate reports per audience.
4. Use DIVIDE with a default value
Instead of writing [Profit] / [Sales], use:
Profit Margin % = DIVIDE([Profit], [Sales], 0)This ensures a safe fallback when the denominator is blank or zero โ avoiding divide-by-zero errors in production reports.
5. Aggregation tables optimize performance
Large datasets (tens of millions of rows) perform best when summary tables are created for common queries (e.g., monthly totals). Visuals query the smaller table first, keeping reports fast. Power BI handles the fallback to the detail table automatically.
These insights aren't just exam prep โ they're core to building reliable, performant Power BI solutions. Apply them in the exam context and you'll recognise them in production work too.