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 różne słowa kluczowe i funkcje w DAX Studio wraz z konkretnym przykładem zapytania dla każdego z nich.
W szczególności dowiesz się o słowach kluczowych ORDER BY i START AT, a także o funkcjach TOPNSKIP i ADDMISSINGITEMS.
Spis treści
Przykład zapytania języka DAX: słowo kluczowe ORDER BY
Słowo kluczowe ORDER BY umożliwia sortowanie zestawu danych.
Podstawowy przykład
Na przykład, używając słowa kluczowego ORDER BY, możesz posortować kolumnę alfabetycznie.
Jak widać, dane pierwszego wiersza zaczynają się od litery „A”. Domyślna kolejność sortowania DAX Studio to rosnąca .
Jeśli chcesz, aby Twoje dane były wyświetlane w kolejności malejącej, napisz DESC . W tym przykładzie zamiast litery A kolumna Marka będzie się zaczynać od litery „W”.
Podobnie, jeśli chcesz przywrócić porządek rosnący, napisz ASC . Możesz także sortować wiele kolumn jednocześnie. Możesz to zrobić, wpisując żądane kolumny, oddzielając je przecinkami.
Przykład ze świata rzeczywistego
Przyjrzyjmy się teraz prostej, rzeczywistej aplikacji używającej słowa kluczowego ORDER BY. Jest to ten sam przykład, który został użyty w samouczku dotyczącym słów kluczowych TABLE .
Możesz zobaczyć, że ta tabela zwraca 3 kolumny. Pierwszym z nich jest typ produktu, składający się z nudnego i modnego. Druga kolumna pokazuje łączną sprzedaż według typu produktu. Trzeci zwraca procent sprzedaży.
W tym przykładzie musisz utworzyć nową kolumnę, która sortuje typ produktu. Dlatego po instrukcji wpisz słowo kluczowe COLUMN , a następnie nazwę kolumny, którą chcesz utworzyć.
Formuła dla tej kolumny jest taka sama jak składnia JEŻELI, ale zamiast „Modny” i „Nudny” w tej kolumnie będzie wyświetlana „1” dla Modny i „2” dla Nudny.
Aby wyświetlić tę kolumnę w tabeli, zapisz ją w składni EVALUATE.
Zobaczysz wtedy, że do tabeli zawierającej liczby 1 i 2 zostanie dodana nowa kolumna Sortowanie typu produktu.
Aby posortować tę kolumnę, wpisz słowo kluczowe ORDER BY po składni . Następnie po nazwie kolumny wpisz ASC lub DESC w zależności od kolejności sortowania, w jakiej ma być dana kolumna.
Przykład zapytania DAX: START AT
Następną rzeczą, której się nauczysz, jest słowo kluczowe START AT .
START AT to przestarzałe słowo kluczowe. Jego użycie nie jest zalecane w przypadku większości zapytań języka DAX. Jednak nadal możesz znaleźć kod DAX, który to wykorzystuje. Dlatego nadal ważne jest, aby wiedzieć, co to jest iw jakich przypadkach można go użyć.
Podstawowy przykład
Najpierw napisz słowo kluczowe EVALUATE. W tym przykładzie użyto tabeli Produkty. Przed napisaniem START AT najpierw użyj ORDER BY , a następnie określ kolumny, które chcesz uwzględnić.
Następnie możesz napisać START AT. Ta składnia będzie zgodna z kolejnością podobną do tego, jak napisałeś swoje kolumny w ORDER BY. W tym przykładzie kolumna Klucz produktów rozpocznie się od „2”, a kolumna Marka rozpocznie się od „Contoso”.
Po naciśnięciu klawisza F5 można zobaczyć w tabeli Wyniki, że określone kolumny są zgodne z kierunkiem zapytania.
Zobaczmy teraz, co się stanie, gdy zostanie dodana kolejna kolumna. W takim przypadku kolumna Kolor powinna zaczynać się od „Srebrny”.
Po uruchomieniu tego zapytania możesz zobaczyć, że pierwszy wpis w kolumnie Kolor to „biały”. Nie ma gwarancji, że wynik będzie zawsze zgodny ze wszystkimi warunkami przy użyciu START AT.
W tym przykładzie w tabeli Products nie ma żadnego wystąpienia zawierającego 2, Contoso i Silver w tym samym wierszu. Zamiast tego aparat języka DAX próbuje utworzyć najlepsze dopasowanie do utworzonego zapytania.
Złożony przykład
Spójrzmy na inny przykład:
Po EVALUATE wpisz słowo kluczowe ORDER BY, po którym następują trzy określone kolumny. Następnie napisz START AT. W takim przypadku kolumna Kolor powinna zaczynać się od „Czerwony”, kolumna Płeć powinna zaczynać się od „M”, a kolumna Klucz sklepu powinna zaczynać się od „2”.
Po uruchomieniu zapytania widać, że silnik języka DAX starał się jak najlepiej dopasować do określonych parametrów.
W wynikach widać, że dwie kolumny są poprawne, a kolumna Store Key zaczyna się od 199 zamiast 2. Wynika to z faktu, że w modelu danych tego przykładu nie istnieje klucz Store Key równy 2.
Wolny silnik DAX
Kliknij przycisk Czasy serwera na karcie Strona główna.
Na dole pojawi się nowa karta. Kliknij przycisk Wyczyść pamięć podręczną, a następnie uruchom znajdujący się w rozwijanej strzałce Uruchom.
Widać, że wykonanie zapytania zajmuje DAX Studio 142 ms. Jeśli usuniesz składnię START AT i ponownie uruchomisz kod, zobaczysz, że wykonanie zajmie tylko 11 ms.
Uruchomienie zapytania trwa dłużej, jeśli istnieje składnia START AT, ponieważ wywołuje zachowanie aparatu języka DAX o nazwie CallBackDataID .
START AT sprawia, że Twój kod jest bardzo wolny. Jeśli korzystanie z niego nie jest wymagane, lepiej go unikać.
Ma to znaczący wpływ na ogólną wydajność pisanego kodu DAX. Dlatego najlepiej jest korzystać z innych podobnych funkcji.
Przykład zapytania języka DAX: funkcja TOPNSKIP
Następną rzeczą, której nauczysz się w tym samouczku, jest funkcja TOPNSKIP . Ta funkcja jest podobna do , ale ma jedną subtelną różnicę wraz z dodatkowym parametrem. Aby lepiej to zrozumieć, spójrzmy na przykład.
TOPN kontra TOPNSKIP
Najpierw napisz słowo kluczowe EVALUATE. Następnie wpisz argument TOPN poniżej, aby wyświetlić 100 najlepszych wierszy w tabeli produktów.
Ta tabela została również posortowana rosnąco w odniesieniu do kolumny Klucz produktu.
Teraz zamień TOPN na TOPNSKIP. W drugim argumencie podaj liczbę wierszy, które chcesz pominąć. W tym przykładzie podano 10.
Gdy to uruchomisz, zobaczysz, że kolumna Klucz produktu zaczyna się teraz od 11 i kończy na 110. Pamiętaj, że nie możesz używać funkcji TOPNSKIP wewnątrz tabeli obliczeniowej ani w tabelarycznym modelu danych.
Inny przykład
W następnym przykładzie przyjrzyjmy się 5000 najlepszych wierszy w tabeli klientów. Ta tabela jest posortowana rosnąco w odniesieniu do kolumny Płeć.
Jeśli użyjesz funkcji TOPN, zobaczysz, że tabela zwraca 9518 wierszy. Oznacza to, że nawet jeśli wybrałeś wyświetlanie tylko pierwszych 5000 wierszy, niektóre dane pozostały niefiltrowane.
Jeśli jednak użyjesz funkcji TOPNSKIP, zobaczysz, że tabela zwraca tylko pierwsze 5000 wierszy w kolumnie Płeć.
Więc nawet jeśli kolumna Płeć klienta ma wiele reguł dla określonej płci, funkcja TOPNSKIP zwróci tylko pierwsze 5000 wierszy. Ten wynik nie jest gwarantowany w przypadku korzystania z funkcji TOPN.
Przykład zapytania języka DAX: funkcja ADDMISSINGITEMS
Na koniec przyjrzyjmy się funkcji ADDMISSINGITEMS w DAX Studio.
Kiedy używasz SUMMARIZECOLUMNS, domyślnie spróbuje usunąć puste wiersze z wyniku. Na przykład możemy napisać zapytanie podsumowujące kolor produktów, markę produktów i płeć klienta.
Po naciśnięciu klawisza F5 widać, że tabela zwraca trzy kolumny. Kolumna Płeć składa się z 3 typów płci: Mężczyzna, Kobieta i Pusta. Blank reprezentuje Firmę. Możesz również zobaczyć, że zwraca 333 wiersze.
Ale jeśli utworzysz kolumnę Total Sales, filtr SUMMARIZECOLUMNS usunie wiersze zawierające puste wartości dla Total Sales. Zamiast 333 wierszy tabela zawiera teraz tylko 323 wiersze.
Istnieją 2 opcje przywrócenia tych wierszy. Pierwszą opcją jest dodanie zera po Total Sales. W wynikach widać, że 10 wierszy zwraca wartość zero dla Total Sales.
Jednak ta opcja nie zawsze daje najlepsze rezultaty. Zamiast tego istnieje konkretna funkcja, której można użyć do rozwiązania tego problemu: funkcja ADDMISSINGITEMS .
Aby użyć tej funkcji, umieść to po EVALUATE. W pierwszym argumencie napisz kolumny. Kolumny te należy również wkleić w parametrze groupBy elementu SUMMARIZECOLUMNS.
Po uruchomieniu tego zapytania zobaczysz, że tabela zwraca teraz 333 wiersze.
Jeśli posortujesz kolumny Total Sales i usuniesz zero, tabela zwróci puste wartości w kolumnie Total Sales.
Dlatego zamiast zgłaszać zero, tabela zwraca puste miejsce dla wierszy, które zostały usunięte przez funkcję SUMMARIZECOLUMNS.
Korzystanie z ADDMISSINGITEMS i FILTER
Możesz także użyć funkcji ADDMISSINGITEMS razem z . Na przykład odfiltrujmy wiersze zawierające „Zabawki typu Tailspin”. W zapytaniu jest napisane, że kolumna Marka nie może zawierać ( <> ) Tailspin Toys.
Po naciśnięciu klawisza F5 widać, że tabela zwraca teraz tylko 331 wierszy. Usunięto więc te dwa wiersze zawierające markę „Tailspin Toys”.
Wniosek
Dwa słowa kluczowe i dwie funkcje omówione w tym samouczku to podstawowa wiedza, którą trzeba posiadać podczas tworzenia zapytań w DAX Studio. Przydadzą się one w przypadku bardziej złożonych aplikacji w świecie rzeczywistym.
DAX Studio to potężne narzędzie do wykonywania i analizowania zapytań języka DAX. Ważne jest, aby nauczyć się podstaw kodowania tego oprogramowania, aby łatwiej było sobie radzić z zaawansowanymi zapytaniami w przyszłości.
Eksperci LuckyTemplates
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.