top of page
Data Warehouse vs Lakehouse vs Data Mart: What Mid-Market Businesses Actually Need
One vendor says lakehouse, another says warehouse, and your Power BI model has quietly become an accidental warehouse with no governance at all. This guide demystifies the three tiers - marts as subject-area slices, warehouses as governed integration layers, lakehouses as the open-format convergence - maps Fabric, Snowflake and BigQuery onto each, lists the decision signals (source count, volume, the four-hour refresh threshold), and lays out the staged path that avoids rebui
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
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
