Forum Discussion

EP1's avatar
EP1
Advocate IV
4 years ago

Calculation Groups within Measure Calculations

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.

5 Replies

  • bcdobbs's avatar
    bcdobbs
    Community Champion

    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.

    • EP1's avatar
      EP1
      Advocate IV

      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.

    • EP1's avatar
      EP1
      Advocate IV

      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

    • EP1's avatar
      EP1
      Advocate IV

      Thanks, I have seen it but I'll revisit it.