Korzystanie z funkcji Calculate

Ukończone

Funkcja CALCULATE w języku DAX jest jedną z najważniejszych funkcji, które może poznać analityk danych. Nazwa funkcji nie opisuje odpowiednio wszystkiego, co ma zrobić.

Funkcja CALCULATE jest metodą tworzenia miary w języku DAX, która zastąpi określone części kontekstu używane w celu wyrażenia poprawnego wyniku.

Jeśli na przykład chcesz utworzyć miarę, która zawsze oblicza łączną sprzedaż dla 2015 roku, niezależnie od tego, który rok został wybrany w innej wizualizacji w usłudze Power BI, utwórz miarę, która wygląda jak w poniższym przykładzie:

Total Sales for 2015 = CALCULATE(SUM('Sales OrderDetails'[Total Price]), YEAR('Sales OrderDetails'[orderdate]) = 2015)

Zwróć uwagę, że miara nosi nazwę Total Sales for 2015 (Łączna sprzedaż w 2015 r.). W przypadku użycia funkcji CALCULATE w celu zastąpienia kontekstu warto nazwać miarę w sposób, który opisuje dokładnie, w jaki sposób jest zastępowany. W tym przykładzie funkcja CALCULATE agreguje kolumnę Total Price (Łączna cena), podobnie jak w poprzedniej mierze. Jednak zamiast wykonywania operacji na całym zestawie danych przy użyciu dowolnego filtra określonego przez kontekst, kontekst filtra jest zastępowany filtrem 2015 roku. Niezależnie od tego, jaki rok jest wybrany jako filtr dla innych raportów, przy użyciu tej miary zawsze otrzymasz sumę za 2015 r. wszystkie inne filtry nadal mają zastosowanie. W kolejnym przykładzie pokazano tę koncepcję w praktyce.

Gdy obie miary zostaną dodane do poprzedniej wizualizacji, będą wyglądać podobnie, jak na poniższym zrzucie ekranu.

Dwie miary na wizualizacji

Jak pokazano na powyższym zrzucie ekranu, wartość Total Sales (Łączna sprzedaż) wynosi nadal 1,35 mln USD, a wartość 2015 Total Sales (Łączna sprzedaż w 2015 r.) wynosi 0,66 mln USD.

Po dodaniu drugiej wizualizacji do raportu, tak jak wcześniej, a następnie wybraniu 2015 roku, wyniki będą wyglądać podobnie, jak na poniższym obrazie. Jeśli wybierzesz rok 2016, łączna sprzedaż w 2015 r. pozostanie na poziomie 0,66 mln USD.

Dwie wizualizacje z funkcją CALCULATE

Zauważ, że obie miary mają teraz dokładnie taką samą wartość. Filtrowanie według innych kryteriów, w tym regionu, pracownika lub produktu, spowoduje, że filtr będzie nadal stosowany do obu miar. Tylko filtr roku nie ma zastosowania do tej miary.