Funkcje języka DAX w usłudze LuckyTemplates: korzystanie z iteratorów

Iteracyjne funkcje języka DAX w usłudze LuckyTemplates lub iteratory to kluczowe pojęcia, których należy się dobrze nauczyć i zrozumieć. Zrobiłem kilka samouczków dotyczących tego, jak i kiedy używać tych funkcji w formułach języka DAX. Jednak widziałem kilka nieporozumień z tymi funkcjami na  , więc pomyślałem, że dobrym pomysłem byłoby omówienie niektórych z tych problemów napotykanych przez członków LuckyTemplates i pokazanie rozwiązań. 

Gdy nauczysz się więcej i zagłębisz w formuły języka DAX, odkryjesz, że używasz funkcji iteracyjnych częściej niż myślisz. Są bardziej wszechstronne niż proste funkcje agregujące , takie jak  SUMA  lub  AVERAGE , i pokazuję to w tym pierwszym  . 

Spis treści

Używanie AVERAGEX zamiast SUMY 

W tym poście na forum członek próbował podsumować statystyki bezpieczeństwa na podstawie obserwacji dokonanych przez osobę, które zostały zapisane z datą. Obserwatorzy mogą wprowadzić obserwację tego samego dnia i mogą wprowadzić wiele obserwacji każdego dnia. Chciał określić średnią w okresie i stworzył następujące obliczenia: 

Funkcje języka DAX w usłudze LuckyTemplates: korzystanie z iteratorów

Rozwiązanie było dość proste jak na tego typu analizę. Zasugerowałem mu, aby użył AVERAGEX zamiast logiki, którą stworzył. Poleciłem mu kilka moich samouczków dotyczących funkcji iteracyjnych, zwłaszcza na AVERGEX.

Udostępniłem mu również samouczek dotyczący obliczania sumy średnich . Ważną rzeczą do nauczenia się tutaj jest wiedzieć, co chcesz iterować za pomocą swojej funkcji iteracyjnej . Musisz zrozumieć, jak działa funkcja AVERAGEX .

Używanie funkcji SUMX z funkcją JEŻELI

Innym przykładowym scenariuszem, który pokazuje, że funkcje iteracyjne są kluczowe w użyciu, jest ten . Członek miał kolumnę z 0 i 1, w zależności od określonych kryteriów stażystów. Musiał pobrać kwotę z kolumny X, jeśli wynosi ona 0, i kwotę z kolumny Y, jeśli wynosi 1. Miał trudności z utworzeniem kontekstu weryfikacji wiersz po wierszu w usłudze LuckyTemplates. To były dane, z którymi pracował:

Funkcje języka DAX w usłudze LuckyTemplates: korzystanie z iteratorów

A to było jego obliczenie w Excelu:

JEŻELI(KomórkaA1=1; Prawda; Fałsz)

W tym przypadku ta logika Excela, którą wykonał, może i powinna zostać uzupełniona w miarę w LuckyTemplates. W tym miejscu pojawia się moc funkcji iteracyjnych. Oto przykładowa formuła, którą mu dałem:

Funkcje języka DAX w usłudze LuckyTemplates: korzystanie z iteratorów

Tutaj używam SUMX z funkcją JEŻELI , ale możesz także użyć FILTER z CALCULATE w podobny sposób. Innym przykładem tego, jak i kiedy używać funkcji SUMX i JEŻELI, jest ten , w którym członek próbował stworzyć połączoną prognozę planowo-rzeczywistą na resztę roku. Oto jak zrobiłby to w Excelu:

Funkcje języka DAX w usłudze LuckyTemplates: korzystanie z iteratorów

Martwił się, że suma roczna była nieprawidłowa. Formuła, którą stworzył, zakłada, że ​​ExFactory ma wartość dla roku, przyjmując tę ​​wartość zamiast obliczania każdego miesiąca, a następnie sumując wszystkie wyniki miesięczne.

Po przejrzeniu danych, które zrobił w LuckyTemplates, dowiedziałem się, że problem dotyczył nie tylko formuły, ale także faktu, że członek używał kolumn obliczeniowych zamiast miar do swoich obliczeń. Moją sugestią, jak zawsze wspominam podczas pracy z DAX, było, aby zaczął od najprostszych miar, takich jak ta:

Funkcje języka DAX w usłudze LuckyTemplates: korzystanie z iteratorów

Na tej podstawie może następnie użyć funkcji iteracyjnych, aby mógł przejrzeć każdy wiersz i uruchomić logikę.

Funkcje języka DAX w usłudze LuckyTemplates: korzystanie z iteratorów

Funkcje języka DAX w usłudze LuckyTemplates: korzystanie z iteratorów

Funkcje iteracyjne umożliwiają iterację tabeli, czy to wirtualnej, czy fizycznej, i uruchamianie logiki w każdym wierszu.

Gdy logika zostanie zakończona w każdym rzędzie, końcowe obliczenia są zakończone. Gdy to zrozumiesz, łatwo będzie Ci włączyć funkcje iteracyjne do swoich obliczeń.

Inną kluczową rzeczą, na którą należy zwrócić uwagę , jest prostota nie tylko obliczeń, ale także modeli . Ułatwi ci to uzyskanie pożądanych wyników z analizy przy użyciu funkcji iteracyjnych. Sprawdź mój , aby dowiedzieć się więcej o prawidłowym i efektywnym organizowaniu modeli.

Funkcje iteracyjne i struktura modelu

Napotkałem na forum wiele problemów związanych z problemami powodowanymi głównie przez zbyt skomplikowane modele. Oto jeden , w którym problem można łatwo rozwiązać za pomocą funkcji iteracyjnych, ale konfiguracja modelu była nieprawidłowa.

Członek chciał ustanowić kontrolę nad aktywowanymi kontami, ale nie miał sprzedaży, liczył konta i był w stanie zidentyfikować nazwiska klientów.

Funkcje języka DAX w usłudze LuckyTemplates: korzystanie z iteratorów

W tym scenariuszu powinna to być po prostu kombinacja funkcji CALCULATE i FILTER lub użycie funkcji iteracyjnych, takich jak SUMX, COUNTX i AVERAGEX. Zrozumienie funkcji iteracyjnych może pomóc w rozwiązaniu takich problemów na poziomie wiersza. Jednak kiedy spojrzałem na model, ogólna konfiguracja naprawdę mnie zaniepokoiła.

Funkcje języka DAX w usłudze LuckyTemplates: korzystanie z iteratorów

Istnieją pewne relacje, które nie wydają się właściwe, a tabela przeglądowa nie była konieczna. Członek musiał najpierw zreorganizować model, aby poprawna formuła działała.


Praca z funkcjami iteracyjnymi w języku DAX
Funkcje iteracyjne w języku DAX — szczegółowy przykład
wykorzystania funkcji iteracyjnych SUMX i AVERAGEX w usłudze LuckyTemplates

Wniosek

Przykłady, które podkreśliłem w tym poście, to pytania zadane przez członków forum LuckyTemplates. Są to typowe scenariusze podczas korzystania z funkcji języka DAX w usłudze LuckyTemplates, w których obliczenia dają błędne wyniki, ponieważ używane funkcje są nieprawidłowe. Formuły powinny mieć funkcje iteracyjne, które są używane we właściwy sposób.

Ponadto model danych może również przyczynić się do problemu obliczeń, gdy w modelu istnieją relacje, które nie działają. Zwykle dzieje się tak, gdy model jest zbyt skomplikowany i źle skonfigurowany. Po rozwiązaniu tego problemu możesz pracować nad formułami z poprawną kombinacją języka DAX.

Jak zawsze zalecam, ważne jest dobre zrozumienie koncepcji funkcji języka DAX w usłudze LuckyTemplates, zwłaszcza iteratorów. Mam nadzieję, że nauczysz się z tego posta i zaimplementujesz go we własnych raportach LuckyTemplates.

Wszystkiego najlepszego!

***** Nauka LuckyTemplates? *****






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.