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.
W tym samouczku poznasz technikę optymalizacji języka DAX przy użyciu funkcji UNION. W tym samouczku porównamy wydajność funkcji UNION z dodatkiem Power Query i innymi technikami łączenia tabel.
Funkcja łączy dwie tabele w jedną, łącząc ich wiersze i usuwając zduplikowane wiersze.
Przykładem w tym samouczku jest tabela Sales, która została podzielona na trzy tabele dla każdego roku (2007, 2008, 2009).
Spis treści
Funkcja UNION w języku DAX
Otwórz DAX Studio i uruchom chronometraż serwera i plan zapytań.
Poniższy kod DAX służy jako przykład:
Po uruchomieniu kodu przejdź do karty Chronometraż serwera . Jak widać, wykonanie kodu trwa łącznie 5,4 sekundy. Większość czasu wykonania była spędzana w Storage Engine . Każde z tych trzech zapytań zawiera tę samą operację, ale lata są różne.
Po zwróceniu tych trzech zapytań przez Storage Engine, Formula Engine wykonuje UNION, co można zobaczyć w Logical Query Plan. Plan zapytań wykonuje również w celu obliczenia całkowitej sprzedaży.
W planie zapytań fizycznych można zobaczyć trzy pamięci podręczne danych zawierające operacje wykonane dla każdego roku w tabeli Sprzedaż.
Porównanie wydajności języka DAX
Aby utworzyć porównanie, utwórzmy miarę Total Sales, korzystając z oryginalnej tabeli Sales.
Jeśli uruchomisz ten kod i przejdziesz do karty Czasy serwera , zobaczysz, że jest to znacznie bardziej wydajne niż funkcja UNION.
Funkcja UNION zużywa 97,9 kilobajtów, podczas gdy nowa miara zajmuje tylko 1 KB.
Gdy używasz UNION, aparat DAX zwraca ogromną ilość pamięci podręcznej danych z powrotem do silnika formuł. Powoduje to duże obciążenie pamięci RAM.
Więc jeśli masz do czynienia z modelem danych zawierającym więcej niż milion wierszy, nie zaleca się używania funkcji UNION
Alternatywy funkcji UNION DAX
Zamiast używać UNION, w tym przykładzie możesz użyć trzech funkcji SUMX . Oznacza to, że jedna funkcja SUMX na każdy rok.
Gdy uruchomisz ten kod i przejdziesz do zakładki Server Timings, zobaczysz, że czas wykonania jest znacznie krótszy. Wzrosło z 5400 ms do 33 ms przy jednoczesnym wykonywaniu trzech różnych zapytań.
Innym sposobem jest dołączenie tabeli Model danych w dodatku Power Query lub w samym źródle danych.
Ale najlepszą opcją jest utworzenie tabeli obliczeniowej , która wykona połączenie tych trzech tabel. Ale ta opcja ma swoje zalety i wady.
Korzystanie z tabeli obliczeniowej pozwala zaoszczędzić całkowity czas przetwarzania w porównaniu z wykonywaniem dołączania w dodatku Power Query. Spowoduje to jednak zwiększenie rozmiaru bazy danych w VertiPaq.
Gdy używasz tabeli obliczeniowej, tworzysz nową tabelę, która łączy trzy tabele. Ale te trzy podzielone tabele nadal pozostaną w bazie danych.
W tym przykładzie trzy tabele zajmują łącznie 25 MB. Jeśli utworzysz tabelę obliczeniową, zajmie ona kolejne 25 MB pamięci RAM.
W takich wrażliwych przypadkach należy podjąć przemyślaną decyzję dotyczącą najlepszego sposobu działania.
Wniosek
Funkcja UNION w języku DAX łączy dwie tabele w jedną, co ułatwia analizę danych. Działa poprzez przyjęcie dwóch tabel jako danych wejściowych i zwrócenie nowej tabeli zawierającej wszystkie wiersze z obu tabel wejściowych. Ta funkcja ma jednak swoje ograniczenia.
Funkcja UNION może być wolniejsza niż inne metody łączenia danych, zwłaszcza jeśli tabele wejściowe są duże. Może również zajmować więcej miejsca w magazynie niż inne alternatywy.
Ilekroć sytuacja wymaga połączenia tabel, ważne jest, aby najpierw rozważyć zalety i wady przed podjęciem decyzji o użyciu funkcji UNION. Alternatywy obejmują funkcję SUMX, tabelę modelu danych lub tabelę obliczeniową.
Wszystkiego najlepszego,
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.