Czym jest self w Pythonie: przykłady z życia wzięte
Czym jest self w Pythonie: przykłady z życia wzięte
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?
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.
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 .
Następnie, jeśli spojrzę na dane działające pod tym modelem, wszystko pasuje do siebie w ten sposób.
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.
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.
Ponieważ przykładowe dane obejmują ilość zamówienia, użyję jej tutaj, aby uzyskać sumę. Zamierzam również użyć ceny jednostkowej.
Po przeciągnięciu tej formuły do raportu wyniki są dokładnie takie same.
Oczywiście oba pokazują te same wyniki, ponieważ oba czerpią dane z tych samych dwóch kolumn — ilości zamówienia i ceny jednostkowej.
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
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.
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.
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ć