Wyjaśnianie kontekstu wierszy w usłudze LuckyTemplates

Dowiedziałem się, że większość ludzi jest zdezorientowana, jeśli chodzi o zrozumienie, jak działa język DAX w kontekście wiersza . Dzieje się tak, ponieważ kontekst wiersza może być dość skomplikowany i niepotrzebnie. Dlatego w tym artykule zajmiemy się kontekstem wiersza . Możesz obejrzeć pełny film tego samouczka na dole tego bloga.

Sposób, w jaki myślę o kontekście wiersza, polega na iteracjach lub funkcjach iteracyjnych . Gdy tylko dokonałem tego rozróżnienia w moim umyśle, nabrało to większego sensu, jeśli chodzi o to, co faktycznie dzieje się w silniku obliczeniowym.

Podsumowując, omówiliśmy, że istnieją trzy typy kontekstów: kontekst oceny , kontekst filtra i kontekst wiersza .

Każde obliczenie DAX działa w procesie dwuetapowym. Kontekst oceny zawsze pojawia się jako pierwszy, a następnie rozgałęzia się na kontekst filtru lub kontekst wiersza, w zależności od tego, jaką funkcję piszesz.

Spis treści

Zrozumienie kontekstu wiersza

Kontekst wiersza polega na iteracji.

Pokażę ci kilka przykładów i mam nadzieję, że pomoże ci to zrozumieć, co tak naprawdę robi kontekst wiersza na zapleczu.

Kontekst wiersza a kontekst filtra

W naszym przykładzie formuła jest obliczana za pomocą kontekstu filtru, ponieważ jest to prosta agregacja. Podsumowuje całą kolumnę Ilość po umieszczeniu wszystkich filtrów początkowych.

Wyjaśnianie kontekstu wierszy w usłudze LuckyTemplates

Początkowy filtr w tabeli Sprzedaż to Produkt 1. Sumując każdą sprzedaną ilość, otrzymujemy 165.

Wyjaśnianie kontekstu wierszy w usłudze LuckyTemplates

Teraz pokażę ci, jak uzyskać dokładnie ten sam wynik, ale obliczony w zupełnie inny sposób. Najpierw utworzę nową miarę iteracji ilości sprzedanych produktów przy użyciu formuły iteracyjnej.

Wyjaśnianie kontekstu wierszy w usłudze LuckyTemplates

Przykłady funkcji iteracyjnych to SUMX , AVERAGEX , MANYX i COUNTX . W tym przypadku użyjemy SUMX .

Funkcja SUMX poprosiła mnie o umieszczenie w tabeli, więc wstawię tabelę Sales. A potem poprosił mnie o wyrażenie, więc po prostu wstawiłem kolumnę Ilość.

Ta funkcja jest zupełnie inna niż pierwsza funkcja, ale po przeciągnięciu otrzymuję dokładnie ten sam wynik.

Wyjaśnianie kontekstu wierszy w usłudze LuckyTemplates

Otrzymujemy tutaj dokładnie takie same wyniki, ponieważ ostatecznie jest to ta sama kalkulacja. Po prostu obliczono to w inny sposób.

Wyjaśnianie kontekstu wierszy w usłudze LuckyTemplates

Iteracja sprzedanej ilości została obliczona przy użyciu kontekstu wiersza , podczas gdy Całkowita sprzedana ilość została obliczona przy użyciu kontekstu filtra .

Obliczanie ilości sprzedanej iteracji przy użyciu kontekstu wiersza

Przeanalizujmy teraz krok po kroku sposób obliczania iteracji ilości sprzedanej. Najpierw trzeba pamiętać o pozostawieniu wstępnego kontekstu wyceny, którym w tym przypadku jest Produkt 1. A następnie za pomocą kontekstu wierszy przeglądamy każdy pojedynczy wiersz w tabeli, który określimy.

W tym przypadku określamy tabelę Sales, a następnie przeglądamy każdy pojedynczy wiersz w kolumnie Quantity.

Wyjaśnianie kontekstu wierszy w usłudze LuckyTemplates

Podczas wstępnej oceny Produkt 1 byłby określany na podstawie tego, co jest filtrowane w kolumnie Identyfikator produktu. Następnie zlicza wiersze pod kolumną Ilość. Za każdym razem, gdy trafi w wiersz, wchodzi i zapisuje wynik w pamięci.

Po dotarciu do dolnej części tabeli przechodzi do oceny wszystkich wyników zapisanych w pamięci, a następnie wykonuje obliczenia, o które go poprosisz, czyli w tym przypadku SUMX .

Wyjaśnianie kontekstu wierszy w usłudze LuckyTemplates

Po co używać kontekstu wierszowego lub funkcji iteracyjnej?

Dzieje się tak dlatego, że wewnątrz funkcji iteracyjnej można robić znacznie bardziej złożone rzeczy. Możesz napisać bardzo zaawansowaną logikę w środku.

Wyjaśnianie kontekstu wierszy w usłudze LuckyTemplates

Na przykład dla każdego wiersza w tabeli Sales ilość jest mnożona przez 2. Zobaczysz teraz, że zachodzi ten sam proces obliczania, ale otrzymujemy różne wyniki.

Wyjaśnianie kontekstu wierszy w usłudze LuckyTemplates

Dzieje się tak, ponieważ dla każdego pojedynczego wiersza piszemy inną logikę. Po przejrzeniu każdego wiersza w kolumnie ilości mnożymy wartość przez dwa, a następnie zapisujemy ją w pamięci. Na koniec robimy SUM .

Możemy tu również pisać różne rzeczy, w tym zaawansowaną logikę, taką jak logika IF lub SWITCH .

Wyjaśnianie kontekstu wierszy w usłudze LuckyTemplates

Istnieje mnóstwo przykładów, gdzie lepiej byłoby użyć funkcji iteracyjnej lub kontekstu wiersza do wykonania obliczeń niż funkcji agregującej lub kontekstu filtru .

Kluczowe uwagi dotyczące zrozumienia kontekstów w usłudze LuckyTemplates

Aby podsumować wszystkie najważniejsze kwestie związane z kontekstem, pamiętaj, że obliczenia w języku DAX przebiegają w dwóch krokach. Pierwszym krokiem jest zawsze kontekst oceny . Bardzo ważne jest, jaki jest kontekst ewaluacji .

Gdy zrozumiesz, jaki jest kontekst oceny dla każdego pojedynczego wyniku, język DAX rozgałęzia się na dwa różne sposoby. Może obliczać za pomocą kontekstu filtra lub kontekstu wiersza.

Wybór używanego kontekstu zależy od formuły, którą piszesz. Więc jeśli napiszesz prostą formułę agregacji , przejdzie ona i obliczy ją za pomocą kontekstu filtra . Ale jeśli napiszesz funkcję iteracyjną, taką jak SUMX, obliczy ona formułę za pomocą kontekstu wiersza .

Gdy staniesz się nieco bardziej zaawansowany w języku DAX, możesz faktycznie mieć wiele kontekstów w tej samej funkcji. Ale zanim tam dotrzesz, naprawdę musisz zrozumieć, czym jest kontekst w najprostszej formie.

Wniosek

Zrozumienie typów kontekstów jest absolutnie kluczowe, gdy uczysz się języka DAX i chcesz wykonywać bardziej zaawansowaną pracę. Kiedy zaczynasz pisać naprawdę zaawansowaną formułę języka DAX, masz do czynienia z wieloma kontekstami działającymi w tym samym czasie i musisz zrozumieć, co robi każda pojedyncza część tej formuły, aby osiągnąć pożądane wyniki.

Oto kilka zalecanych linków, które pozwolą Ci dowiedzieć się więcej o stosowaniu kontekstu wierszy w usłudze LuckyTemplates:

Kontekst oceny — (1.8) Kompletny przewodnik po języku DAX dla początkujących

Kontekst filtru — (1.9) Kompletny przewodnik po języku DAX dla początkujących

Miłej pracy z tym.

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.