Pierwszą funkcją rozpoczynającą naukę DAX jest CALCULATE. Ta funkcja nie ma dokładnego odpowiednika w Excel, ale jest porównywalna z funkcjami SUMIFS I COUNTIFS . Krótko mówiąc, funkcja ta stosuje filtry do innych funkcji obliczeniowych, dzięki czemu możemy wybrać i uwzględnić w obliczeniach tylko te dane, których potrzebujemy.
=OBLICZ.(< wyrażenie statystyczne >, < filtr1 >, < filtr2 >, ...)
< wyrażenie statystyczne >
Wyrażenie statystyczne powinien zwrócić nam wynik obliczeń (wartość, a nie tabelę). Z tego powodu w tym ustawieniu często stosuje się funkcje statystyczne tego typu SUMA , MIN , MAKS , KONTROLE itp.
< filtr1 >, < filtr2 >, ...
Filtr określa zakres danych, nad którymi należy pracować. Warunki wyboru wartości są określone tutaj.
Załóżmy, że mamy taką tabelę, która nazywa się
Stwórzmy na jej podstawie tabelę podsumowującą i policzmy ilość rekordów dla każdego produktu.
Utwórzmy teraz nowe pole obliczeniowe
Jak otrzymaliśmy liczby w polu obliczeniowym Count_All_Product 16 ? Wyjaśnieniem jest to, że usunęliśmy dla tego pola wszystkie filtry, które zostały zastosowane w tabeli przestawnej (każdy wiersz w tabeli przestawnej to osobny filtr), korzystając z funkcji ALL() . Inaczej mówiąc, jest to funkcja ALL (
Dodajmy kolejne pole
Widzimy, że liczby są w polu
=CALCULATE(COUNTROWS(Demo);ALL(Demo[Product]))
Zmieniliśmy argument na funkcję ALL() poprzez zastąpienie
Widzimy więc, co dzieje się na boisku