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.
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.
Początkowy filtr w tabeli Sprzedaż to Produkt 1. Sumując każdą sprzedaną ilość, otrzymujemy 165.
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.
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.
Otrzymujemy tutaj dokładnie takie same wyniki, ponieważ ostatecznie jest to ta sama kalkulacja. Po prostu obliczono to w inny sposób.
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.
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 .
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.
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.
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 .
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.
W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.
Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.
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
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.
Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.
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.
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.
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ł.
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.