Scoprire i segreti di KEPFILTERS in DAX
Esplorare KEPFILTERS in DAX
La funzione KEEPFILTERS() in DAX è una funzione sottovalutata. Quindi, ho deciso di approfondire questa funzione e fornirti alcuni dettagli interessanti su di essa e un effetto sorprendente.
Introduzione
Quando utilizziamo la funzione CALCULATE() in DAX, di solito aggiungiamo un semplice filtro come questo:
Product[Color] = “Green”
Questo filtro sostituisce qualsiasi filtro esistente sulla colonna [Color] con il valore “Green”.
Ma talvolta, abbiamo bisogno di fare un ulteriore passo avanti e conservare un filtro esistente su una tabella o su una colonna per eseguire alcuni calcoli interessanti.
- Scoprire i segmenti più insoliti nei dati
- Come ottimizzare la comunicazione nelle pipeline di dati utilizzando Mage
- Smetti di ignorare Julia! Imparala adesso e ringrazia il tuo io più giovane in futuro
E a volte, otteniamo un risultato errato dalle nostre Misurazioni e non riusciamo a capire perché succede.
Sono queste le situazioni in cui la funzione KEEPFILTERS() può aiutarci.
Query di origine
Prima di tutto, definiamo la Query su cui vogliamo lavorare.
Voglio ottenere una lista di Vendite Online per Colore:
DEFINE MEASURE 'All Measures'[Online Sales] = SUMX('Online Sales', [UnitPrice]*[SalesQuantity]) EVALUATE SUMMARIZECOLUMNS('Product'[Color] ,"Online Sales", [Online Sales] )
Utilizzo SUMX per moltiplicare [UnitPrice] per [SalesQuantity].
Il risultato appare così:
La query appare così quando aggiungo un filtro con CALCULATE(), come descritto in precedenza.
// Solo le vendite GreenDEFINE MEASURE 'All Measures'[Online Sales] = SUMX('Online Sales', [UnitPrice]*[SalesQuantity]) MEASURE 'All Measures'[All Green Sales] = CALCULATE([Online Sales] ,'Product'[Color] = "Green" ) EVALUATE SUMMARIZECOLUMNS('Product'[Color] ,"Online Sales", [Online Sales] ,"Green Sales", [All Green Sales] )
E il risultato appare così: