Chapter 16. Performance Tuning the Data Model with Power Query

In this chapter, you will learn how to improve the performance of a data model with different strategies in Power Query. You will learn that Power Query is not available in all storage modes; the choice of storage mode is therefore important. Depending on the storage mode, partitioning can tremendously speed up refresh and/or query time. I will show you how you can support your partitioning strategy in Power Query.

Finally, this chapter talks about another strategy to improve query time: how to pre-aggregate the content of a table. Remember, aggregation tables are tables with a different granularity than the base (transaction) table. This can speed up calculations. For example, you can create a table that aggregates calculations by day. Then the value for a year does not need to be calculated based on millions of rows but based on only 365 pre-aggregated values. You can use the Performance Tuning.pbix file to follow along with the examples in this chapter.

Storage Mode

The aggregation table implemented with Power Query can be in any of the available storage modes (Import, DirectQuery, or Dual), except for live connection, which prohibits the use of Power Query at all. That means that the aggregation table does not necessarily need be imported into the data model but can be “virtualized” in DirectQuery mode. This is feasible if you need not only to keep the transaction table in DirectQuery mode (see Chapter 8 for a ...

Get Data Modeling with Microsoft Power BI now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.