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.
Na tym blogu porównam kolumny obliczeniowe i miary usługi LuckyTemplates, a następnie omówię niektóre różnice między nimi. Możesz obejrzeć pełny film tego samouczka na dole tego bloga.
Pokażę Ci również optymalne sytuacje, w których możesz użyć któregokolwiek z nich.
Spis treści
Tworzenie kolumn obliczeniowych
Zacznę od utworzenia kolumny obliczeniowej w usłudze LuckyTemplates . To jest prawdopodobnie to, z czym jesteś najbardziej zaznajomiony, jeśli pochodzisz z Excela.
W programie Excel jesteś przyzwyczajony do uzyskiwania tabeli danych, wprowadzania niektórych formuł programu Excel, a następnie wykonywania tych czynności od nowa, aż do uzyskania pożądanego wyniku.
Możesz to również zrobić w usłudze LuckyTemplates.
Jak widać, w tabeli Sprzedaż nie ma zbyt wielu informacji, które mam.
Jednak w mojej tabeli Produkty znajduje się całkiem sporo przydatnych informacji, takich jak aktualna cena produktu, koszt produktu i tak dalej.
Dodam kolumnę obliczeniową w tabeli Sprzedaż, a następnie znajdę formułę lub funkcję, która umożliwi mi przeniesienie części informacji z tabeli Produkty do tabeli Sprzedaż. Następnie umieściłbym go w tej obliczonej kolumnie.
Model jest dużą częścią tego, dlaczego mogę to zrobić. Ten model, który zbudowałem, pozwala mi to osiągnąć.
Aby utworzyć kolumnę obliczeniową w usłudze LuckyTemplates, kliknij opcję Nowa kolumna.
Nazwę tę kolumnę „Ceny”.
Na pasku formuły zmienię „Kolumnę” na „Ceny”.
Zacznę dodawać formuły, których potrzebuję.
Najpierw użyję funkcji , która zwraca powiązaną wartość z innej tabeli.
W funkcji POWIĄZANE wpisz „Current Price”, wybierz kolumnę Current Price z tabeli Products, a następnie zamknij nawiasy zaraz po niej.
Zasadniczo przeniosłem wartości z kolumny Aktualna cena w tabeli Produkty do kolumny obliczeniowej. Zrobiłem to, odwołując się do kolumny Current Price wewnątrz funkcji RELATED.
Każdy wiersz tej tabeli Sales reprezentuje pojedynczą transakcję.
Zwróć uwagę, że po wprowadzeniu formuły wyświetlane są ceny odpowiadające każdemu produktowi, który został kupiony w każdej transakcji.
Mogę również dodać nową kolumnę obliczeniową usługi LuckyTemplates, którą będę nazywać Przychodami.
W tym celu kliknij ponownie kolumnę Nowy.
Następnie na pasku formuły zmień Kolumnę na Przychód.
Wprowadź ceny, a następnie kliknij kolumnę Ceny z tabeli Sprzedaż, aby się do niej odnieść.
Po wykonaniu tej czynności pomnożę wartości w tej kolumnie przez wartości w kolumnie Ilość.
Wprowadzę operator mnożenia „ * ” i wybiorę kolumnę Ilość z tabeli Sprzedaż.
Dodałem kolumnę Przychód w tabeli Sprzedaż, odwołując się do kolumny Ceny, a następnie mnożąc ją przez kolumnę Ilość.
Aby dodać dodatkowe informacje do swoich tabel, tak jak to zrobiłem tutaj, będziesz musiał utworzyć wiele kolumn obliczeniowych.
Jednak wielką zaletą usługi LuckyTemplates jest to, że jeśli prawidłowo skonfigurujesz model, nie musisz tego robić. Wewnątrz tych miar można używać miar i funkcji języka DAX zamiast kolumn obliczeniowych.
Chociaż kolumny obliczeniowe mają swój cel, umieszczanie ich w tabeli faktów nie jest tak naprawdę zoptymalizowanym sposobem.
Jednak użycie kolumn obliczeniowych w tabeli przeglądowej ma sens . Wyjaśnię dlaczego później.
Ale wcześniej pokażę ci, jak działają miary w usłudze LuckyTemplates.
Tworzenie miar
Najpierw pobiorę nazwę klienta, a następnie przeciągnę ją na płótno.
A następnie zamienię to w tabelę, klikając podświetloną ikonę w zakładce Wizualizacje.
Teraz napiszę formułę jako miarę, która pokaże, że mogę również obliczyć liczbę przychodów, którą otrzymałem wcześniej, bez potrzeby dodawania punktów danych w tabeli faktów.
Na karcie Pola, pod tabelą Sprzedaż, widzę utworzoną wcześniej kolumnę Przychód.
Chwycę tę kolumnę i przeciągnę ją do tabeli.
Po wykonaniu tej czynności mogę teraz zobaczyć przychody, które otrzymuję od każdego z klientów.
Nie chcę, abyś robił to w usłudze LuckyTemplates. Jeśli chcesz wprowadzić pewne obliczenia do wizualizacji, przechwycenie kolumny i przeciągnięcie jej do wizualizacji nie jest właściwym sposobem na zrobienie tego.
Używanie miar do obliczeń jest bardziej optymalnym sposobem robienia rzeczy.
Właśnie przeciągnąłem kolumnę do mojej tabeli, aby sprawdzić, czy naprawdę mogę uzyskać ten sam wynik za pomocą miar.
Miary, które bardzo różnią się od kolumn obliczeniowych, są jak obliczenia wirtualne.
Podczas gdy kolumna obliczeniowa usługi LuckyTemplates uruchamia obliczenie, a następnie osadza dane w tabeli, miara uruchamia obliczenie tylko wtedy, gdy przeniesiesz je do wizualizacji.
To niesamowity sposób na wykonanie wielu obliczeń w modelu bez zajmowania miejsca.
Teraz pokażę ci, jak działa miara. Najpierw przejdź do karty Narzędzia główne, a następnie wybierz opcję Nowa miara.
Nazwę tę miarę Całkowitą Sprzedażą.
Pierwsza funkcja, której zamierzam użyć, nazywa się i jest funkcją iteracyjną , która zwraca sumę wyrażenia obliczonego dla każdego wiersza w tabeli.
Aby dodać tę funkcję, przejdę do nowej linii, naciskając Shift + Enter na mojej klawiaturze, a następnie wpisz SUMX.
Jak widać, funkcja wymaga ode mnie wpisania tabeli i wyrażenia.
Funkcja wykona iterację w tabeli, a następnie uruchomi wyrażenie lub logikę, w zależności od tego, co wpiszesz w funkcji.
Tutaj użyję tabeli Sales, którą mam.
Wewnątrz funkcji wprowadzę Sales, a następnie kliknę tabelę Sales, aby się do niej odwołać.
Dla wyrażenia wykonam iterację w tabeli Sales. Następnie w każdym wierszu pomnożę wartości z kolumny Ilość przez wartości z kolumny Aktualna cena w tabeli Produkty.
Tak jak zrobiłem to wcześniej, aby pobrać wartości z kolumny Aktualna cena, muszę użyć funkcji RELATED.
W tym celu wprowadź Ilość, a następnie wybierz kolumnę Ilość z tabeli Sprzedaż. Następnie wprowadź operator mnożenia „*” zaraz po.
Teraz, aby uzyskać wartości z kolumny Aktualna cena, wprowadź funkcję RELATED. W nim wpisz Aktualna cena, a następnie wybierz kolumnę Aktualna cena z tabeli Produkty.
Funkcja RELATED zwraca powiązaną wartość z innej tabeli, którą w tym przypadku jest tabela Produkty.
Formuła, którą skonfigurowałem, która jest widoczna powyżej, może wydawać ci się znajoma. To właśnie zrobiłem w kolumnach obliczeniowych, aby uzyskać numer przychodów.
Główna różnica polega na tym, że w ramach środka obliczenia są wykonywane wirtualnie. Oznacza to, że działa w tej samej logice, ale nie wymaga dodawania żadnych punktów danych w tabeli faktów.
Po naciśnięciu klawisza Enter możesz teraz zobaczyć miarę w przedniej części tabeli Sales na karcie Pola.
Poznasz, że jest to miara, gdy obok nazwy znajduje się ikona kalkulatora.
Chwyć miarę Total Sales, a następnie przeciągnij ją do tabeli.
Zobaczysz, że uzyskałem dokładnie ten sam wynik bez dodawania punktów danych w mojej tabeli faktów. Zostało to zrobione praktycznie w bardziej zoptymalizowany sposób przy użyciu .
Teraz, jak powiedziałem wcześniej, nie polecam przeciągania kolumn do wizualizacji. Zamierzam usunąć kolumnę Przychody, klikając X, jak pokazano poniżej.
Ponieważ mogę obliczyć przychód bez kolumn obliczeniowych, które utworzyłem wcześniej, zamierzam je usunąć, ponieważ tak naprawdę ich nie potrzebuję.
Najpierw usunę kolumnę Przychody.
Następnie usunę również kolumnę Ceny.
Każdy punkt danych w modelu zajmuje trochę pamięci. W mniejszych modelach posiadanie niepotrzebnych punktów danych nie jest wielkim problemem.
Ale czasami można spotkać modele z milionami wierszy. W takim przypadku marnujemy trochę pamięci na miliony wierszy, których tak naprawdę nie potrzebujemy.
W tej konkretnej tabeli mam 15 000 wierszy. Usuwając niepotrzebne punkty danych w tabeli, zoptymalizowałem mój model. Usunąłem wiele wierszy, których nie potrzebuję.
Teraz miara Total Sales, którą wykonałem, jest całkowicie dynamiczna. I pokażę ci dlaczego.
Na karcie Pola chwyć tabelę Sprzedawca i przeciągnij ją do wizualizacji.
Następnie dodam filtr, klikając podświetloną ikonę na obrazku poniżej.
W tym filtrze możesz zobaczyć łączną sprzedaż od każdego sprzedawcy.
Wybierzmy Carla Elliotta.
Widać, że liczba się zmienia. Te nowe liczby reprezentują teraz łączną sprzedaż uzyskaną z produktów sprzedanych przez Carla Elliotta.
Możesz posortować te liczby, klikając nagłówek kolumny Total Sales.
Oto kolejna reprezentacja wizualna, którą można uzyskać, klikając podświetloną ikonę na karcie Wizualizacje.
Jeśli wybierzemy Ernesta Wheelera w krajalnicy Salesperson, otrzymamy łączną sprzedaż ze sprzedanych przez niego produktów.
Jak zauważyłeś, liczby lub wizualizacje zmieniają się za każdym razem, gdy zmieniamy sprzedawcę.
Dlatego środki są dynamiczne. Wszystkie obliczenia są wykonywane praktycznie za kulisami, w zależności od kontekstu.
To tylko jedna formuła. Nadal istnieje wiele formuł języka DAX, których można używać do różnych celów.
Jeśli dobrze wykorzystasz miary DAX i połączysz je z odpowiednim modelem, możesz obliczyć praktycznie wszystko, o czym tylko marzysz.
Jeśli nie rozumiesz, co dzieje się w Twoim modelu, zaczniesz myśleć, że musisz napisać bardziej złożone formuły języka DAX. Jednak DAX jest łatwy do wdrożenia, jeśli dobrze skonfigurujesz swój model.
DAX z pewnością nie jest prosty. Ale krzywa uczenia się nie jest tak duża, zwłaszcza jeśli wiesz, jak poprawnie skonfigurować swój model.
Teraz, jako kolejny przykład, utworzę nową miarę.
Na karcie Narzędzia główne kliknij opcję Nowa miara.
Zamierzam nazwać tę nową miarę jako Total Quantity. Na pasku formuły zmień Miarę na Ilość całkowitą.
W tym celu obliczę całkowitą ilość produktów, które sprzedaję każdemu klientowi.
Aby to zrobić, użyję funkcji , która dodaje wszystkie liczby w kolumnie. Wewnątrz funkcji SUMA odwołuję się do kolumny Ilość z tabeli Sprzedaż.
W ten sposób ustawiłem formułę.
Dzieje się tak, ponieważ funkcja sumuje wszystkie liczby w naszej kolumnie Ilość. Zasadniczo sumuję ilość produktów, które sprzedałem.
Teraz chwyć miarę Total Quantity na karcie Pola i przeciągnij ją do tabeli.
Po wykonaniu tej czynności możesz teraz zobaczyć liczbę produktów, które sprzedajesz każdemu ze swoich klientów.
Jeśli chcesz zobaczyć zestawienie sprzedanych produktów i zobaczyć, które konkretnie produkty sprzedałeś poszczególnym klientom, możesz przeciągnąć kolumnę Nazwa produktu na kartę wartości.
Teraz mam podział całkowitej sprzedaży i całkowitej ilości pod względem klienta i nazwy produktu. Było to możliwe tylko dzięki skonfigurowanemu przeze mnie modelowi danych.
Właściwe użycie kolumn obliczeniowych
Ostatnią rzeczą, którą chcę ci pokazać, jest zastosowanie kolumny obliczeniowej w LuckyTemplates. Kolumny obliczeniowe pomagają rozbudować możliwości krojenia i filtrowania.
Ponieważ wszystkie twoje transakcje znajdują się u podstawy twojego modelu, który jest również twoją tabelą faktów, wszystkie obliczenia są tam wykonywane.
Z drugiej strony górne części modelu, czyli tabele przeglądowe, filtrują wszystkie obliczenia w zależności od logiki zastosowanej w obliczeniach.
Jako przykład przejdę do tabeli Daty.
Załóżmy na przykład, że chcę filtrować moje obliczenia według miesięcy. Ale dla celów wizualizacji chcę, aby nazwy miesiąca były krótkie, więc użyję tylko pierwszych 3 liter nazwy miesiąca.
Ponieważ nie mam tego filtra Krótki miesiąc w mojej tabeli dat, zamierzam go utworzyć.
Dodaj nową kolumnę do tabeli Daty, klikając opcję Nowa kolumna.
Ponieważ chcę nazwać tę kolumnę Krótki miesiąc, zmienię Kolumnę na Krótki miesiąc na pasku formuły.
Następnie użyję funkcji , która zwraca określoną liczbę znaków z tekstu.
Wejdź w funkcję LEWY, a następnie w jej wnętrzu odwołaj się do kolumny MonthName z Tabeli dat. Wpisz 3, ponieważ chcemy tylko 3 pierwsze litery nazwy miesiąca.
W ten sposób ustawiłem formułę.
Formuła bierze pierwsze 3 litery każdej wartości z kolumny MonthName i zwraca je do właśnie utworzonej kolumny Short Month.
To właśnie mam na myśli, mówiąc o budowaniu tabel filtrujących.
W tym przypadku nie można w rzeczywistości używać miar języka DAX, ponieważ nie wymaga to żadnych obliczeń.
Tak więc, aby skonstruować kolumny, których będziesz używać do filtrowania obliczeń, musisz użyć kolumn obliczeniowych.
Użyjmy teraz kolumny, którą właśnie utworzyłem, aby odfiltrować nasze wcześniejsze obliczenia.
Na karcie Pola chwyć kolumnę Krótki miesiąc i przeciągnij ją do tabeli.
Aby utworzyć filtr przy użyciu kolumny Krótki miesiąc, kliknij podświetloną ikonę pod zakładką Wizualizacje, jak pokazano poniżej.
Teraz, jeśli wybierzesz określony miesiąc, możesz zobaczyć, że obliczenia są filtrowane w zależności od sprzedaży, którą osiągnąłeś w tym miesiącu.
Oto przykład, jeśli wybierzesz styczeń jako filtr krótkiego miesiąca.
Jak widać, miesiące w filtrze Krótki miesiąc nie są tak naprawdę uporządkowane. Aby rozwiązać ten problem, wróć do tabeli Daty. Możesz zobaczyć kolumnę MonthOfYear, której możesz użyć do uporządkowania filtra.
Aby posortować filtr, wybierz kolumnę Krótki miesiąc, przejdź do zakładki Narzędzia kolumn, wybierz Sortuj według kolumny, a następnie kliknij kolumnę Miesiąc roku.
Po tym zobaczysz, że filtr jest teraz we właściwej kolejności.
Dowiedz się, jak zbierać zaznaczenia fragmentatora usługi LuckyTemplates do wykorzystania w ramach innych miar
Umieszczanie numerów dni roboczych i dni weekendowych w tabeli dat w usłudze LuckyTemplates
Wyświetlanie wyników do daty bieżącej lub określonej daty w usłudze LuckyTemplates
Wniosek
Na tym blogu omówiłem różnice między kolumnami obliczeniowymi usługi LuckyTemplates a miarami języka DAX. Omówiłem również optymalne sposoby wykorzystania któregokolwiek z nich.
W swoich obliczeniach znacznie wydajniej jest używać miar DAX. Możesz to zrobić bez dodawania punktów danych w tabeli faktów.
Ale podczas tworzenia tabel przeglądowych, których będziesz używać do filtrowania obliczeń, sensowne jest użycie kolumn obliczeniowych.
Mam nadzieję, że pomoże to w analizie i nie mogę się doczekać, aby użyć obu!
Miłego dnia!
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.