Prima funcție care începe să învețe DAX este CALCULATE. Această funcție nu are o contrapartidă exactă în Excel, dar este comparabilă cu funcțiile SUMIFS și COUNTIFS . Pe scurt, această funcție aplică filtre altor funcții de calcul, astfel putem selecta și include în calcule doar datele de care avem nevoie.
=CALCULATE(< expresie statistică >, < filtrul 1 >, < filtrul2 >,...)
< expresie statistică >
Expresie statistică ar trebui să ne returneze rezultatul calculului (o valoare, nu un tabel). Din acest motiv, funcțiile statistice de acest tip sunt adesea folosite în această setare SUM , MIN , MAX , COUNTROWS etc.
< filtrul 1 >, < filtrul2 >,...
Filtru definește intervalul de date la care se lucrează. Condițiile de selectare a valorilor sunt specificate aici.
Să presupunem că avem un astfel de tabel, care este numit
Să creăm un tabel rezumat pe baza acestuia și să numărăm numărul de înregistrări pentru fiecare produs.
Acum să creăm un nou câmp de calcul
Cum am obținut numerele din câmpul de calcul Count_All_Product 16 ? Explicația este că am eliminat pentru acest câmp toate filtrele care au fost aplicate în tabelul pivot (fiecare rând din tabelul pivot este un filtru separat), folosind funcția ALL() . Adică, cu alte cuvinte, o funcție ALL (
Să adăugăm un alt câmp
Vedem că numerele sunt în câmp
=CALCULATE(COUNTROWS(Demo);ALL(Demo[Product]))
Am schimbat argumentul în funcția ALL() prin înlocuire
Deci vedem ce este pe teren