Retail has the worst-shaped data in BI. SKU counts in the millions, store counts in the thousands, and time at daily resolution: the cross-product alone is enough to destroy naïve report performance. The pattern that fails retail Power BI estates: dashboards built without semantic-model discipline, ad-hoc DAX written by analysts who haven't seen production cardinality, and reports that take 90 seconds to load on a normal Tuesday.
We design retail Power BI estates around the cardinality reality: aggregation tables with explicit grain, calculation groups for the standard retail metrics (units, sales $, AUR, sell-through), composite models that route between aggregate and detail, and the DAX patterns that handle SKU-level analysis without melting the semantic model. The result is reports that load in seconds on production-shape data.