Praca z funkcjami języka DAX

Ukończone

Biblioteka funkcji języka DAX obejmuje setki funkcji, z których każda służy do osiągania określonego celu.

Język DAX pochodzi z dodatku Power Pivot do programu Microsoft Excel 2010 dostępnych jest ponad 80 funkcji, które można znaleźć również w programie Excel. Była to świadoma strategia projektowa firmy Microsoft mająca na celu zapewnienie, że użytkownicy programu Excel mogą szybko rozpocząć pracę w języku DAX.

Jednak istnieje wiele funkcji, których nie ma w programie Excel, ponieważ są one specyficzne dla modelowania danych:

  • funkcje nawigacyjne dotyczące relacji,
  • funkcje modyfikowania kontekstu filtra,
  • funkcje iteracyjne,
  • Funkcje analizy czasowej
  • funkcje ścieżki.

Porada

Aby wyszukać dokumentację dotyczącą funkcji języka DAX, w wyszukiwaniu w sieci Web wprowadź słowo kluczowe DAX, a następnie nazwę funkcji.

Aby uzyskać więcej informacji, zobacz Dokumentacja funkcji języka DAX.

Funkcje pochodzące z programu Excel

W poniższych sekcjach przedstawiono kilka przydatnych funkcji, które mogą już być znane, ponieważ istnieją w programie Excel.

Funkcja IF języka DAX sprawdza, czy warunek podany jako pierwszy argument jest spełniony. Zwraca jedną wartość, jeśli warunek ma wartość TRUE, i inną wartość, jeśli warunek ma wartość FALSE. Składnia funkcji jest następująca:

IF(<logical_test>, <value_if_true>[, <value_if_false>])

Porada

Argument funkcji jest opcjonalny, gdy w dokumentacji występuje w nawiasach kwadratowych.

Jeśli dla kryterium logical_test (test_logiczny) zostanie zwrócona wartość FALSE, a wartość value_if_false (wartość_jeśli_fałsz) nie zostanie podana, funkcja zwróci PUSTĄ wartość.

Dostępnych jest wiele funkcji podsumowania programu Excel, w tym SUM, COUNT, AVERAGE, MIN, MAXi wielu innych. Jedyną różnicą jest to, że w języku DAX przekazujesz odwołanie do kolumny, podczas gdy w programie Excel przekazujesz zakres komórek.

Dostępnych jest również wiele funkcji matematycznych, tekstowych, daty i godziny, informacyjnych oraz logicznych programu Excel. Na przykład niewielka próbka funkcji programu Excel dostępnych w języku DAX to ABS, , ROUND, ORDATEUPPERYEARRIGHTMONTHLEFTNOWISNUMBERLENSQRTFALSEANDTRUENOTi .IFERROR

Funkcje, które nie pochodzą z programu Excel

Dwie przydatne funkcje języka DAX, które nie są specyficzne dla modelowania i które nie pochodzą z programu Excel, to DISTINCTCOUNT i DIVIDE.

Funkcja DISTINCTCOUNT

Możesz użyć DISTINCTCOUNT funkcji języka DAX, aby zliczyć liczbę odrębnych wartości w kolumnie. Ta funkcja jest szczególnie przydatna w rozwiązaniu analitycznym. Należy wziąć pod uwagę, że liczba klientów różni się od liczby unikatowych klientów. Ta ostatnia nie uwzględnia powtarzających się klientów, dlatego różnica polega na tym „ilu jest klientów” w porównaniu do „ilu jest różnych klientów”.

Funkcja DIVIDE

Aby osiągnąć podział, możesz użyć DIVIDE funkcji języka DAX. Należy przekazać wyrażenia licznika i mianownika. Opcjonalnie można przekazać wartość, która reprezentuje alternatywny wynik. Składnia DIVIDE funkcji to:

DIVIDE(<numerator>, <denominator>[, <alternate_result>])

Funkcja DIVIDE automatycznie obsługuje dzielenie według zerowych przypadków. Jeśli alternatywny wynik nie zostanie przekazany, a mianownik ma wartość zero lub jest PUSTĄ wartością, funkcja zwraca PUSTĄ wartość. Gdy zostanie przekazany alternatywny wynik, jest on zwracany zamiast PUSTEJ wartości.

Ta funkcja jest wygodna, ponieważ nie wymaga wcześniejszego testowania wartości mianownika. Funkcja jest również lepiej zoptymalizowana pod kątem testowania wartości mianownika IF niż funkcja. Wzrost wydajności jest znaczący, ponieważ sprawdzanie dzielenia przez zero jest wymagające. Co więcej, użycie DIVIDE funkcji powoduje bardziej zwięzłe i eleganckie wyrażenie.

Porada

Zalecamy użycie DIVIDE funkcji za każdym razem, gdy mianownik jest wyrażeniem, które może zwrócić zero lub BLANK. W przypadku gdy mianownik jest wartością stałą zalecamy użycie operatora dzielenia (/), który zostanie przedstawiony w dalszej części tego modułu. W takim przypadku gwarantowane jest powodzenie dzielenia, a wyrażenie będzie działać wydajniej, dzięki uniknięciu niepotrzebnego testowania.