top of page
How to Document a Power BI Environment (Before the Person Who Built It Resigns)
The workspace nobody can touch, the measure nobody understands, and the quiet months of re-engineering that follow one resignation - undocumented Power BI estates are key-person risk wearing a tenant badge. This guide sets out the minimum-viable documentation standard: source inventory and refresh map, model diagrams, measure definitions with business intent, workspace and access registers - plus the low-effort tooling (INFO functions, DAX Studio, description fields, deployme
Slow DAX: The 7 Measure Mistakes Quietly Strangling Your Reports
The thirty-second visual is rarely a capacity problem - it is measure-writing patterns that force the engine to do the work the hard way. This piece names the seven mistakes behind most slow DAX: full-table iterators, FILTER inside CALCULATE where a predicate folds, calculated-column abuse, bidirectional relationship traps, context transition in visuals, variable-free re-computation and over-nested logic - each with its before-and-after pattern, plus the Performance Analyzer
Power Query vs DAX: Which One Should You Use for That Calculation?
Thirty-step applied queries recreating what one measure should do, and iterator-heavy DAX performing row transformations the pipeline should have handled - both come from the same gap: no mental model for which language does which job. This guide provides the clean version - Power Query shapes the data that arrives, DAX answers questions at runtime - with decision rules, worked examples for the common cases, and the 'as far upstream as possible' principle that points beyond b
Row-Level Security in Power BI: Show Each Manager Only Their Own Numbers
Fifteen copies of the same report, one per branch, drifting apart with every change - that is the anti-pattern row-level security kills. This guide explains how RLS works mechanically: roles, DAX filter expressions, the dynamic pattern using USERPRINCIPALNAME against a security table, organisational hierarchies for roll-up access, testing with View As, the performance cost of badly written filters, and why security must live in the model rather than the visual layer.
Incremental Refresh in Power BI: When You Need It and How to Set It Up Properly
A two-hour refresh for one day of new data is the signature of a model reloading history that never changed. This practitioner guide covers how incremental refresh actually works - RangeStart and RangeEnd parameters, partitioning, detect-data-changes - why query folding is the non-negotiable prerequisite, the production gotchas the documentation glosses over (silent folding breaks, the first-publish full load, XMLA partition management), and when hybrid tables or Direct Lake
How to Build a KPI Framework Before You Build a Single Dashboard
Commissioning dashboards before agreeing what revenue, margin and churn actually mean is how the three-different-numbers problem reaches production. This guide covers the KPI framework that should precede any build: outcome-driver-measure trees, the metric dictionary as a governed artefact, the edge cases where definitions actually live (timing, exclusions, intercompany), a workshop agenda you can run yourself, and how settled definitions become certified measures in a semant
Your Guide to Smarter Analytics
Report Simple aims bringing enterprise level reporting & analytics to SMEs around Australia.
Machine Learning


Gold Coast Analytics Trends in 2020
As the saying goes, the world’s most valuable resource is no longer oil, it’s data!
Sep 17, 20202 min read


Machine learning visualisations within Power BI
Use machine learning visualisations within Microsoft Power BI to get quick insight in the root cause of business and IT problems
Sep 17, 20202 min read
bottom of page
