Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now
Hi,
There are lot of articles in the Internet saying that is worth to use Storage Engine everytime it's possible. I can examine using of FE vs SE in Dax Studio, but in fact, I do not know how to increase using of SE. Do you know any methods which helps with that? What can I do to use Storage Engine often?
Solved! Go to Solution.
Hi @Anonymous ,
DAX queries from Power BI report visuals are resolved by the DAX formula engine and the DAX storage engine. The storage engine is the in-memory columnar compressed database for import mode models (also known as VertiPaq) and is the relational database for DirectQuery models. In either mode, the formula engine is responsible for generating query plans and can execute all DAX functions, including complex expression logic, though it is limited to a single thread and no cache.
The formula engine sends requests to the storage engine and the storage engine, if it does not have the requested data in an existing data cache, utilizes multiple threads to access segments of data (1 thread per segment, 1M rows per segment) from the data model. The storage engine executes simple join, grouping, filter, and aggregations, including distinct count to make requested data caches available to the formula engine. Given this architecture a fundamental DAX and Power BI model design practice is to maximize the allocation of queries to the storage engine and minimize the size of data caches operated on by the formula engine.
Best Regards,
Kelly
Hi @Anonymous ,
DAX queries from Power BI report visuals are resolved by the DAX formula engine and the DAX storage engine. The storage engine is the in-memory columnar compressed database for import mode models (also known as VertiPaq) and is the relational database for DirectQuery models. In either mode, the formula engine is responsible for generating query plans and can execute all DAX functions, including complex expression logic, though it is limited to a single thread and no cache.
The formula engine sends requests to the storage engine and the storage engine, if it does not have the requested data in an existing data cache, utilizes multiple threads to access segments of data (1 thread per segment, 1M rows per segment) from the data model. The storage engine executes simple join, grouping, filter, and aggregations, including distinct count to make requested data caches available to the formula engine. Given this architecture a fundamental DAX and Power BI model design practice is to maximize the allocation of queries to the storage engine and minimize the size of data caches operated on by the formula engine.
Best Regards,
Kelly
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!