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.

15.5.3 Date tables

Use a complete date table for year, quarter, month, and comparable-period calculations. Connect each fact table through the correct date meaning. A transaction date and a membership-start date are not interchangeable.

15.5.4 Validation

Reconcile report totals with source extracts and independent calculations. Test filters one at a time. Verify empty categories, totals, and interactions between visuals.