During optimization of Microsoft Fabric Capacity, we analyzed a semantic model that was among the largest on the capacity, consuming a significant number of Capacity Units (CUs) during refresh. As part of the analysis, refresh logs were collected. We noticed that a major portion of the resource usage didn’t come from table refreshes but rather from just three calculated columns.

Calculated columns can be resource-intensive, especially when performing heavy transformations on large datasets. Since they are processed during model refresh and stored in memory, they can quickly lead to performance degradation and unnecessary compute usage. According to modeling best practices, data should be transformed as far upstream as possible and as far downstream as necessary. In this case, the calculated columns were doing too much work too late in the process.

We removed the calculated columns from the model. The effect was immediate: daily CU usage dropped by 98%, saving around 200,000 CUs per day, which translates to roughly $300 per month in capacity costs*. In addition to the financial savings, the refresh process became faster and more stable.

This case clearly shows how seemingly minor modeling decisions can have major operational and financial consequencesRegular performance reviews, awareness of best practices, and proper monitoring tools are key to building efficient, scalable self-service BI solutions in Microsoft Fabric.

* Estimated based on Pay-As-You-Go Capacity rates.

#MicrosoftFabric #Fabric #Optimization #MicrosoftFabricOptimization #SelfService #CitizenDeveloper #BestPractice #CalculatedColumn #Capacity #Monitor #CostSaving #Dataset #DatasetOptimization #SemanticModel #SemanticModelOptimization


Leave a Reply

Your email address will not be published. Required fields are marked *