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.
Zamierzam pokazać, jak używać funkcji IsAfterToday w rozszerzonych tabelach dat na potrzeby scenariuszy analizy czasowej usługi LuckyTemplates.
Jeśli chodzi o funkcje DAX i inne narzędzia, przypisuję im w głowie określone zadania lub osoby, aby łatwo zapamiętać, co robią. postrzegam jako kontrolera ruchu lotniczego. Myślę o jako o bramkarzu w klubie, który decyduje, kto wejdzie, a kto nie.
Jeśli chodzi o IsAfterToday , postrzegam go jako Terminatora, który przegląda moje dane, tabele i wizualizacje, aby usunąć wszystko, czego nie potrzebuję. Możesz obejrzeć pełny film tego samouczka na dole tego bloga.
Spis treści
Dostęp do IsAfterToday poprzez rozszerzoną tabelę dat
Aby uzyskać dostęp do IsAfterToday , muszę użyć rozszerzonej tabeli dat . Dzieje się tak dlatego, że funkcja IsAfterToday w rzeczywistości nie jest funkcją języka DAX ; jest częścią samego stołu.
Jeśli przejdziesz do widoku danych tabeli, kolumna IsAfterToday będzie wyglądać następująco.
Logika stojąca za IsAfterToday jest prosta. Jeśli data przypada po dniu dzisiejszym, jest to PRAWDA. Jeśli to było przed dzisiaj, to jest FAŁSZ.
Aby dokładniej pokazać, co potrafi IsAfterToday, omówię dwa przypadki użycia, które doskonale pokazują jego przydatność w scenariuszach analizy czasowej usługi LuckyTemplates.
Kończenie skumulowanych sum
Pierwszy przypadek użycia dotyczy zakończenia skumulowanych sum . Jest to przypadek, o który często pyta się na forum LuckyTemplates.
W tym przykładzie pokażę, jak użycie miary języka DAX wymagałoby około 38 wierszy, ale jak użycie funkcji IsAfterToday może wykonać tę pracę za pomocą zaledwie 2 kliknięć bez użycia języka DAX.
Ten przypadek dotyczy podstawowej struktury.
Mam kwartał i rok, całkowitą sprzedaż i łączną sprzedaż.
Całkowita sprzedaż trwa od 2018 roku do chwili obecnej, a następnie jest kontynuowana z niektórymi prognozowanymi danymi do końca 2020 roku.
Jeśli chodzi o skumulowaną sprzedaż , jest to tylko podstawowy wzorzec skumulowanej sprzedaży z zastosowanym w datach.
Wizualizacja pokazuje mi, że gdzieś jest problem, ponieważ dane stają się wątpliwe po wypadnięciu Total Sales .
Patrząc wstecz na tabelę, nie ma danych za rok 2021.
Tak więc na wykresie ostatnia cyfra powtarza się w kółko aż do końca 2021 roku.
Jak więc wyczyścić całkowitą sprzedaż i skumulowaną sprzedaż?
Najpierw użyję podejścia DAX. Zacznę od upuszczenia tej kolumny Alt Cumulative Sales do tabeli.
Tak wygląda miara Alt Cumulative Sales .
Pokazuje również filtr , który mówi, że jeśli IsAfterToday ma , to jest do niego przypisany Jeśli nie, to jest do niego przypisywana wartość sprzedaży skumulowanej .
Tak więc, jeśli wrócę do tabeli i sprawdzę, to pokazuje, że zwraca właściwą wartość wiersz po wierszu.
Problem tkwi jednak w Total.
Suma pokazuje 73 miliony, podczas gdy powinna pokazywać ostatnią wartość, czyli 59 milionów.
Wrzucę więc sumę skumulowaną Alt2 do tabeli, aby pokazać, jak powinny wyglądać prawidłowe dane.
Teraz pokażę ci różnicę między kolumną Alt Cumulative Sales a Alt2 Cumulative Sales .
Oto ta sama miara sprzedaży skumulowanej .
Oto DAXFilter , w którym zastosowano IsAfterToday .
W przypadku środka, którego użyłem wcześniej, po tym nic nie wyszło. Dlatego wartości były poprawne dla każdego wiersza, ale nie było sposobu, aby obliczenia mogły stwierdzić, czy osiągnęły ostatni wiersz, czy nie.
W tym przypadku istnieje zupełnie nowa struktura, która to robi.
Stosowana jest funkcja , więc jeśli osiągnę wiersz sumy, automatycznie wymuszę sumę wszystkich skumulowanych sprzedaży do tego punktu.
Jest to podejście, które stosuje wielu użytkowników LuckyTemplates, głównie dlatego, że faktycznie działa. Ale znowu oznacza to również konieczność napisania ponad 30 wierszy języka DAX.
Tym razem pokażę Ci, jak to zrobić za pomocą kilku kliknięć.
Po prostu kliknij tę małą strzałkę tutaj, aby wyświetlić filtry.
Tak to będzie wyglądać po wyświetleniu filtrów.
Następnie w polu Fields wyszukam IsAfterToday .
Przeciągnę i upuścię to do moich filtrów.
Następnie pod tym filtrem IsAfterToday zaznaczę False , co oznacza, że odnoszę się do dnia dzisiejszego lub wcześniejszych dni.
Spójrz, jak to oczyszcza sytuację. Wszystkie wartości są teraz we właściwych miejscach. Sumy też się zgadzają.
To samo można powiedzieć o wizualizacji i fragmentatorach.
Najwyraźniej takie podejście jest znacznie bardziej wydajne niż stosowanie wyłącznie podejścia DAX.
Podział danych bieżących i prognozowanych
Zajmę się teraz drugim przypadkiem użycia, który polega na pobraniu pola Total Sales i podzieleniu danych na dane bieżące i dane prognozy za pomocą funkcji IsAfterToday .
Chcę też uczynić go dynamicznym, aby z czasem wprowadzał więcej danych do rzeczywistych i mniej danych do prognozy, aż dojdzie do końca okresu prognozy i wszystko stanie się rzeczywiste.
Nadal mam łączną sprzedaż z ostatniego przykładu. Jak wspomniano wcześniej, zawiera dane z przeszłości i teraźniejszości oraz dane z końca roku. Jest to więc mieszanka rzeczywistych danych i danych prognozowanych.
Oprócz tego mam też moją podstawową miarę Skumulowana sprzedaż i wizualizację Skumulowana sprzedaż .
Powiedzmy, że to, co chcieliśmy zrobić, to wziąć i faktycznie rozłożyć tę łączną sprzedaż w naszej wizualizacji na rzeczywistą i prognozowaną.
Tak więc w przypadku rzeczywistej sprzedaży tak będzie wyglądać miara DAX.
Zasadniczo oznacza to, że jeśli data zwróci dla IsAfterToday , należy użyć wartości Cumulative Actual . Jeśli nie, należy zwrócić BLANK .
Teraz wezmę miarę dla skumulowanej prognozowanej sprzedaży i dodam ją również do moich wartości .
Jednak patrząc na DAX, pokazuje dla IsAfterToday , aby zwrócić prognozowane wartości.
W obszarze wizualizacje usunę Skumulowaną sprzedaż .
Następnie zamiast tego usunę Skumulowaną rzeczywistą sprzedaż i Skumulowaną prognozowaną sprzedaż .
Teraz wizualizacja pokazuje skumulowaną sprzedaż rzeczywistą i skumulowaną sprzedaż prognozowaną w wyraźnym rozkładzie na wizualizacji.
Zbuduj obszerną tabelę dat w usłudze LuckyTemplates Naprawdę szybkie
prognozowanie w usłudze LuckyTemplates: porównanie wydajności z prognozami łącznie W/DAX
Normalizacja danych w usłudze LuckyTemplates dla wyników z różnych dni
Wniosek
To tylko dwa przydatne przypadki, w których IsAfterToday okazuje się korzystne. Zachęcam do kliknięcia i eksperymentowania z nim, aby odkryć jeszcze więcej sposobów wykorzystania go do rozwiązywania problemów z analizą czasu w usłudze LuckyTemplates.
Był to również dobry sposób na pokazanie, że chociaż język DAX jest naprawdę potężny, istnieją również przypadki, w których potrzebna jest szybsza alternatywa. Wszystko polega na opanowaniu zalet i wad używania języka DAX w dowolnej sytuacji, abyś zawsze mógł wybrać podejście, które chcesz zastosować.
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.