Unsupported DAX expressions


DAX Optimizer currently analyzes only DAX measures and KPIs. It does not analyze DAX expressions in calculated columns, calculated tables, calculation groups, or row-level security (RLS) filters (also known as table permissions).

Calculated columns and calculated tables do not impact the query performance as they are evaluated only during data refresh.

However, calculation groups and RLS filters can have a significant impact on the query performance. When these artifacts are present in a model, make sure to evaluate their impact on query performance manually by using DAX Studio and other diagnostic tools.

Visual calculations, also, are not part of the model. They are stored locally in the report and are not available in the VPAX file. However, visual calculations do not usually generate performance issues because they work on a copy of the summarized data prepared for a visual.

Workaround for calculation groups

To analyze the expression of a calculation item in a calculation group, create a measure that expands the DAX expression of a calculation item applied to another expensive measure so you can figure out the cost of the calculation item by evaluating the difference between the original and the modified measure.

Workaround for row-level security (filters)

The filters specified in the RLS are applied to the user session, affecting all the queries. You can simulate this behavior by creating additional measures that evaluate in a CALCULATE function the existing measures by applying all the table permission filters to the filter context. Even if the query plan produced is different, you might be able to evaluate the impact of the RLS filters on the query performance.

More about security performance:

Last update: Apr 09, 2024