Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.
Hi
I need some help with selectively applying calculation groups. In my data model, I have 5 types of measures:
Measure Type 1: measures where the calculation group should not be applied
Measure Type 2: measures where the calculation group should be applied
Measure Type 3: measures where a specific calculation item should apply, regardless of the calculation item selected
Measure Type 4: measures that are a calculation combining a measure type 1 and a measure type 3
Measure Type 5: measures that are a calculation combining a measure type 2 and a measure type 3
Measure Type 6: measures that combine two measures of type 3, where each has a different calcuation item applied
Up to now, I have been able to implement all measure types by using a disjointed table containing the same names as the calculation items and using the DAX TREATAS() function to selectively apply the calcuation group. However, TREATAS() comes with a significant performance cost, so I want to move away from TREATAS().
I have considered using a filter for SELECTEDMEASURENAME() but I suspect this would not work for measure types 3-6.
I'd appreciate any pointers as to what approach I can use to gain performance benefits but keep functionality.
Have you seen this article that was in SQLBI's january newsletter:
A Technique for Optimising Calculation Group Performance – Tenfingers BI (wordpress.com)
I'm not sure it's 100% what you need but you might be able to use some of the ideas.
Thanks, I have seen it but I'll revisit it.
Have you got a demo file?
Short of a direct relationship TREATAS is generally the best way to move a filter so would like to see what you're already doing in a bit more detail.
@bcdobbs the only complaint I have with the TREATAS approach is the performance cost. In another model where I only have type 1 and type 2 measures, I successfully switched from TREATAS to a SELECTEDMEASURENAME approach with tenfold performance gains
@bcdobbs sorry, don't have a demo file. The model itself (even without the data) is confidential. I considered using a direct relationship but it doesn't look like it is possible to create a relationship on a calculation group.
Check out the November 2023 Power BI update to learn about new features.
Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.