Jak korzystać z funkcji iteracyjnej w usłudze LuckyTemplates

W tym samouczku dowiesz się o różnych funkcjach iteracyjnych i o tym, jak efektywnie wykorzystywać je w obliczeniach.

Często omawiam, w jaki sposób kolumny obliczeniowe nie są wymagane podczas wykonywania niektórych obliczeń. Dzieje się tak za sprawą iteratorów.

Iteratory lub funkcje iteracyjne mogą pomóc w wykonaniu obliczeń bez fizycznego umieszczania wyników w tabeli.

Ta technika może pomóc w zaoszczędzeniu pamięci potrzebnej do załadowania modelu danych usługi LuckyTemplates . W kolejnych sekcjach pokażę, jak zoptymalizować obliczenia za pomocą iteratorów.

Spis treści

Obliczanie całkowitej sprzedaży za pomocą funkcji iteratora

Aby rozpocząć, utwórz nową miarę dla Kosztów całkowitych . Pamiętaj, aby wybrać grupę miar, w której ma się znaleźć ta nowa miara.

Naciśnij klawisze Shift i Enter , aby przejść w dół wiersza przed umieszczeniem pierwszej funkcji iteracyjnej, czyli .

Na pasku formuły LuckyTemplates możesz już dokładnie zobaczyć, co należy umieścić po funkcji, zgodnie z sugestią IntelliSense. W przypadku SUMX musisz dodać po nim tabelę.

Formuła SUMX uruchomi logikę w każdym pojedynczym wierszu danej tabeli. Dlatego iteratory są powiązane z kontekstem wiersza . W ramach miary iteratory mogą przekształcić formułę w kontekst wiersza.

Będziesz musiał odwołać się do tabeli Sales po funkcji SUMX . Aby obliczyć całkowity koszt, należy pomnożyć ilość zamówienia przez całkowity koszt jednostkowy .

W ogóle nie musimy odwoływać się do nowej kolumny, która została utworzona. Całkowite koszty są miarą i mogę je wprowadzić do mojej tabeli, aby ocenić nasze całkowite koszty.

Teraz przeciągnij miarę do wnętrza tabeli, aby zobaczyć wyniki. Upewnij się, że wybrałeś początkowy kontekst z filtra Miasto .

Możemy zmienić początkowy kontekst naszych obliczeń, klikając różne regiony, którym chcemy się przyjrzeć.

Całkowite koszty działają w podobny sposób pod względem początkowego kontekstu. Początkowy kontekst zostaje zastosowany do tabeli Sales, ale następnie w ramach każdego z tych indywidualnych wyników obliczamy ilość zamówienia pomnożoną przez całkowity koszt jednostkowy.

Za kulisami naszego modelu danych włączyliśmy nasz filtr i mamy kontekst pochodzący z naszej tabeli Regiony oraz inny kontekst pochodzący z naszej tabeli Data. Przepływają one do naszej tabeli Sales, która jest filtrowana przez funkcję iteracyjną SUMX.

Ponieważ funkcja SUMX ocenia praktycznie każdy pojedynczy wiersz tabeli Sales , nie ma potrzeby stosowania fizycznej kolumny dla wyników.

Po początkowym kontekście SUMX otrzymuje iloczyn ilości zamówienia i całkowitego kosztu jednostkowego dla każdego pojedynczego wiersza. Na koniec ocenia wszystkie obliczone wyniki ze wszystkich wierszy.

Jak zauważyłeś, oryginalna kolumna Koszty została utworzona za pomocą kolumny obliczeniowej. Jak już powiedziałem, jest to niepotrzebne, ponieważ iteratory mogą już wykonywać swoją pracę. Możesz go usunąć, ponieważ może zająć niepotrzebną pamięć w twoim modelu.

Formuły iteracyjne uruchamiają oceny w każdym pojedynczym wierszu, podczas gdy formuły agregujące nie.

To prosty przykład, ale możesz być tutaj bardziej zaawansowany i pisać instrukcje IF oraz instrukcje SWITCH. Ponadto nie musisz tworzyć fizycznej tabeli; zamiast tego możesz użyć wirtualnego.

Wiele z tych informacji jest szczegółowo omówionych w kursie Mastering DAX , ale to tylko po to, aby pokazać ci początki funkcji iteracyjnych i jak zacząć z nich korzystać, gdy jest to właściwe.

Jeśli czujesz potrzebę utworzenia kolumny obliczeniowej w tabeli faktów, mogę niemal zagwarantować, że funkcja iteracyjna wykona tę pracę za Ciebie.

Korzystanie z innych funkcji iteratora języka DAX

Teraz pokażę ci kolejny przykład tego, jak iteratory mogą zdziałać cuda w twoich obliczeniach. Tym razem obliczmy średni koszt.

Po prostu skopiuj formułę kosztów całkowitych i wklej ją do nowej miary. Wystarczy zmienić nazwę na Average Costs , a następnie użyć zamiast SUMX .

Nowa formuła działa na podobnej zasadzie, ponieważ ocenia każdy pojedynczy wiersz tabeli Sales . Ponadto nadal musisz uzyskać iloczyn ilości zamówienia i całkowitego kosztu jednostkowego . Jedyną różnicą jest to, że zamiast sumy formuła oblicza średnią.

Teraz, jeśli umieścisz w tabeli miarę Koszty średnie , zobaczysz, jak wypada ona w porównaniu z miarą Koszty całkowite .

To niesamowite, jak można uruchomić podobną logikę, po prostu zmieniając funkcję iteracyjną.

Dodatkowe techniki optymalizacji danych 

Aby zoptymalizować tabelę, możesz usunąć zbędne informacje, takie jak kolumna Łączny przychód .

Ponieważ możesz łatwo uzyskać średnie koszty, kolumna Całkowity przychód nie będzie już potrzebna w Twojej tabeli. Dopóki masz kolumny Cena jednostkowa i Całkowity koszt jednostkowy , wszystko jest w porządku.

Teraz zamiast tego można utworzyć nową miarę dla Total Sales (Iteracja) za pomocą funkcji SUMX . Wystarczy odwołać się do tabeli sprzedaży , a następnie uzyskać iloczyn ilości zamówienia i ceny jednostkowej .

Następnie możesz porównać wyniki w kolumnach Total Sales i Total Sales (Iteration) . Obaj mają takie same wyniki, prawda?

Jeśli chodzi o wydajność, nie ma dużej różnicy między używaniem kolumn obliczeniowych i iteratorów. Ale jeśli chodzi o model danych, funkcja iteratora może pozbyć się całej kolumny i zaoszczędzić setki wierszy danych.

Dodatkowo możesz usunąć zbędne kolumny, ponieważ iteratory mogą wirtualnie obliczyć niezbędne wyniki. Ta praktyka sprawi, że Twój stół będzie znacznie cieńszy, a model znacznie szybszy. Upewnij się, że stosujesz tę technikę optymalizacji we własnych obliczeniach.

Wniosek

Podsumowując, funkcja iteracyjna ocenia każdy pojedynczy wiersz, podczas gdy agregatory tego nie robią.

Litera X na końcu funkcji ułatwia identyfikację iteratorów. Przykłady obejmują funkcje SUMX , AVERAGEX , , i inne.

Korzystanie z funkcji iteracyjnych nie spowoduje utworzenia dodatkowych tabel fizycznych . Może to pomóc w oszczędzaniu pamięci w usłudze LuckyTemplates.

Przykłady SUMX i AVERAGEX , które omówiłem, to proste scenariusze. Później przejdziemy do bardziej zaawansowanych, dodając instrukcje IF i instrukcje SWITCH .

Wszystkiego najlepszego!


Funkcje DAX w usłudze LuckyTemplates: korzystanie z iteratorów
Funkcje iteracyjne w języku DAX — szczegółowy przykład
pracy z funkcjami iteracyjnymi w języku DAX

*****






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.