Power BI calculation groups just got faster to compile

An optimisation has shipped in the Power BI semantic model engine that cuts the time spent preparing a query that uses calculation groups. It happens before any data is read, so it will not speed up your scans. Some models will barely notice. Models with several calculation groups that reference each other could see a lot. Here is what was happening, why it was written that way, and how to work out which camp you are in.

Optimize Your Power BI Model: Use COUNTROWS for Distinct Counts

DISTINCTCOUNT over a high cardinality transaction ID is one of the most expensive things you can ask the storage engine to do. If you understand which of your dimensions have a functional dependency on that ID, you can answer a large share of your queries with a plain COUNTROWS instead, and shrink the work for the ones that are left.

Analysis Services Memory Tip (processing partitions)

The Tip: Convert calculated columns in your model to physical columns (where practical). The Detail If you encounter memory issues when processing partitions in an Analysis Services (AS) database, one option you might consider to resolve this is to convert calculated columns in the offending tables to physical columns. When processing partitions, the AS engine Continue reading Analysis Services Memory Tip (processing partitions)