0
votes

I am curious if anyone here could tell me if RLS will limit the amount of data scanned in DAX measures? My RLS Table is joined to my fact table by a bi-directional relationship in a standard star-schema. I have built a very complicated set of measures due to requirements and I fear that once this model is processed for all data it may have bad performance. Currently the data only consists of a few entities within the organization but once it is processed full the model will be close to half a billion records. I am using a ton of iterators and I would hope that they won't need to iterate the entire set.

Thanks!

1

1 Answers

0
votes

RLS filtering is applied before measures are evaluated. However, depending on which table you put the RLS filter on, and the complexity of the RLS filter expression, you may experience bad performance on the RLS filter itself!

If your model is a well-designed star-schema, and the RLS is applied to a dimension table that doesn't have too many rows (< 100.000), then you should be fine!

Bi-directional relationships might cause some trouble though, so watch out for those! In general, you should always avoid bi-di and instead use the CROSSFILTER function in those measures where you actually need the bi-directional behaviour.

Iterators across half a billion rows is not necessarily a problem unless the iterated expression performs a context transition (this can happen when you use CALCULATE or reference a measure inside the iteration.

But ultimately, with Tabular models, as the Italians would say: It Depends™.

You always - always - have to test, to know what the final performance will be.