Before we start looking at using tools to help us to optimize our DAX queries, we need to understand a little bit about the tabular query engine architecture.
When you execute a DAX query using the in-memory mode, it uses two different engines to run the calculations and come back with a result. These two engines are known as the Formula Engine (FE) and the Storage Engine (SE), and they work together in different roles to calculate the result of DAX queries.
If you execute a DAX query using DirectQuery mode, then the query engine simply coverts the DAX into a SQL statement and sends it to be executed by the external SQL Server. The query engine does no further work other than return the query result that it receives back from SQL Server.
When a DAX query is executed, a combination of the function engine and the storage engine is used...