Forum Discussion

Bokazoit's avatar
Bokazoit
Continued Contributor
3 years ago

Can this DAX be optimized?

Hi

 

I wonder if this Measure can be optimized a bit? I works as intended, but is a bit slow

Seneste betalingsmetode = 

VAR SenestBetalt = CALCULATE(
                        MAX(FactBetalingslinjer[DatoKeyStoettePeriode]), 
                        FactBetalingslinjer[#Payed Amount (GL)] > 0 
                        )

VAR BetaltMetode = CALCULATE(
                        MAX(FactBetalingslinjer[BetalingsmetodeKey]), 
                        FactBetalingslinjer[DatoKeyStoettePeriode] = SenestBetalt
                        )

VAR Metode = CALCULATE( 
                        MAX(DimBetalingsmetode[BetalingsmetodeNavn]), 
                        DimBetalingsmetode[BetalingsmetodeKey] = BetaltMetode
                        )

RETURN

Metode

I need to find the latest period based on latest payment (Variable SenestBetalt)
Then from that date I like to find the payment type (Variable BetaltMetode)
Finally I get the paymeny name from the dimension (Variable Metode)

The final part is needed (I think) because it's a starschema with all dimensions pointing at FactBetalingslinjer, so I can find the key and then get the name from the dimension.

But can it be done smarter? and can it be done faster.

 

Thanks in advance 🙂

2 Replies

  • some_bih's avatar
    some_bih
    Community Champion

    Hi Bokazoit I do not understand you table name except that Fact* your fact table. If so, use ADD( SUMMARIZE pattern as variable and after that filter results.

  • some_bih's avatar
    some_bih
    Community Champion

    Hi Bokazoit I do not understand you table name except that Fact* your fact table. If so, use ADD( SUMMARIZE pattern as variable and after that filter results.