Różnica między SUM a SUMX w LuckyTemplates

Różnica między SUM a SUMX w LuckyTemplates

Nadal istnieje wiele nieporozumień dotyczących różnicy między a w usłudze LuckyTemplates. Jest to kluczowa wiedza, którą użytkownicy muszą opanować, ponieważ obie funkcje mogą być używane w różnych scenariuszach, ale są przypadki, w których jedna jest bardziej wydajna od drugiej. Możesz obejrzeć pełny film tego samouczka na dole tego bloga.

Skoncentruję się tutaj na jednym przykładzie, który pokazałby różnicę między tymi dwoma. Ale zanim przejdę do tego przykładu, ważne jest, aby zrozumieć różnicę między funkcją agregującą a funkcją iteracyjną.

Spis treści

Agregatory kontra iteratory

Jeśli chodzi o DAX, istnieją dwa rodzaje silników obliczeniowych – agregatory i iteratory.

Do funkcji agregujących należą SUMA , , , i . Z drugiej strony iteratory to funkcje z X na końcu, takie jak SUMX .

Funkcje iteracyjne przechodzą przez każdy pojedynczy wiersz tabeli, aby dodać logikę do każdego z tych wierszy.

Funkcje agregujące sprawdzają całą kolumnę pozostałą po umieszczeniu kontekstu w formule. Stamtąd pojedyncza agregacja jest wykonywana dla całej kolumny w jednym czasie.

SUM jako agregator

W jaki sposób SUM jest używany jako agregator?

Różnica między SUM a SUMX w LuckyTemplates

W tym przykładzie obliczę całkowity przychód w podanych przykładowych danych.

Kontekst jest tu zawsze ważny. W tym przypadku każda konkretna data jest kontekstem każdego konkretnego wyniku.

Różnica między SUM a SUMX w LuckyTemplates

Jeśli zagłębię się w tę tabelę, wykażę, że istnieje bezpośredni związek płynący z daty przechodzącej do tabeli Sales .

Różnica między SUM a SUMX w LuckyTemplates

Następnie, jeśli spojrzę na dane działające pod tym modelem, wszystko pasuje do siebie w ten sposób.

Różnica między SUM a SUMX w LuckyTemplates

Relacja jest więc powiązana z kolumną Data zamówienia tutaj. Po przefiltrowaniu określonych dat z tej kolumny odpowiednie wyniki są wyświetlane w kolumnie Przychody.

Stamtąd SUM wykonałaby tylko jedno duże obliczenie przefiltrowanych wyników.

SUMX jako iterator

Teraz użyję SUMX na tych samych przykładowych danych, abyś mógł zobaczyć różnicę. W rzeczywistości mogę obliczyć ten przychód bez dotykania kolumny Przychód.

Kiedy używana jest funkcja SUMX , zawsze poprosi o tabelę. Należy zauważyć, że można tu użyć tabeli fizycznej lub tabeli wirtualnej.

Różnica między SUM a SUMX w LuckyTemplates

Aby wymyślić Przychód, wybiorę tabelę Sprzedaż. Następnie umieszczę wyrażenie, które może być miarą lub określoną kolumną z tej tabeli, w tej formule, aby mogło rozpocząć wykonywanie logiki w każdym wierszu. Wyrażenie, jak wyjaśniono tutaj, zwraca sumę wyrażenia obliczonego dla każdego wiersza tabeli.

Różnica między SUM a SUMX w LuckyTemplates

Ponieważ przykładowe dane obejmują ilość zamówienia, użyję jej tutaj, aby uzyskać sumę. Zamierzam również użyć ceny jednostkowej.

Różnica między SUM a SUMX w LuckyTemplates

Po przeciągnięciu tej formuły do ​​raportu wyniki są dokładnie takie same.

Różnica między SUM a SUMX w LuckyTemplates

Oczywiście oba pokazują te same wyniki, ponieważ oba czerpią dane z tych samych dwóch kolumn — ilości zamówienia i ceny jednostkowej.

Różnica między SUM a SUMX w LuckyTemplates

Po co używać SUMX, jeśli i tak daje taki sam wynik jak SUMA ?

Dzięki SUMX logika jest stosowana nie tylko do całej kolumny, ale do każdego pojedynczego wiersza w tej kolumnie. W rzeczywistości mógłbym usunąć kolumnę Przychody i nadal mieć możliwość pobierania określonych wyników.

Wyobraź sobie więc, że ta logika jest stosowana w każdym rzędzie. Mnoży ilość zamówienia i cenę jednostkową dla pierwszego wiersza, a następnie zapisuje to w pamięci. Robi to samo z drugim rzędem i wszystkimi kolejnymi rzędami, zapisując każdy indywidualny wynik.

Oznacza to, że ostatecznie do obliczenia SUMX używane są nie fizyczne dane w tabeli, ale wyniki zapisane w pamięci .


Praca z funkcjami iteracyjnymi w języku DAX
Korzystanie z funkcji iteracyjnych SUMX i AVERAGEX w usłudze LuckyTemplates
Model danych usługi LuckyTemplates do zaawansowanej analizy scenariuszy przy użyciu języka DAX

Wniosek

Mam nadzieję, że udało mi się wyjaśnić główną różnicę między SUM a SUMX w LuckyTemplates, szczególnie tym, którzy wciąż nie rozumieją, co naprawdę potrafi LuckyTemplates.

Praktyczna zasada jest taka, że ​​jeśli jest to prosty, bezpośredni scenariusz, który można rozwiązać za pomocą funkcji agregującej, użyj SUMY. Ale jeśli wymagana jest bardziej zaawansowana logika, użyj SUMX.

SUMX będzie również przydatny w przypadkach, gdy masz tysiące do milionów wierszy. Dopóki istnieją tabele i kolumny, do których odwołują się twoje miary, użycie funkcji iteracyjnych sprawi, że proces będzie bardziej wydajny.

Wszystkiego najlepszego,


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.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Pomysły na materializację pamięci podręcznych danych w DAX Studio

W tym samouczku omówiono idee materializacji pamięci podręcznych danych oraz ich wpływ na wydajność języka DAX w dostarczaniu wyników.

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Jeśli do tej pory nadal korzystasz z programu Excel, jest to najlepszy moment, aby zacząć korzystać z usługi LuckyTemplates na potrzeby raportowania biznesowego.

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć