15.5 Power BI refresher
Power BI is useful when audiences need repeatable interactive exploration across related tables. A strong report begins with a sound data model.
15.5.1 Grain and relationships
Identify the grain of every table. Dimension tables may contain one row per member, centre, program, or date. Fact tables may contain visits, transactions, or registrations. Relationships should follow stable keys and expected cardinality.
Avoid many-to-many relationships unless their meaning is understood. An incorrect relationship can produce plausible but duplicated totals.
15.5.2 Columns and measures
Calculated columns are evaluated row by row during refresh. Measures are evaluated in filter context. Ratios should usually be measures so the denominator responds correctly to filters.
Visit Rate per 1,000 =
DIVIDE([Total Visits], [Service Population]) * 1000
The source and filter behaviour of both measures must be validated. A population denominator should not accidentally change when a facility filter has no corresponding population relationship.