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.
Dzisiaj chciałem omówić unikalną technikę skumulowanych sum opartych na średnich miesięcznych wynikach w usłudze LuckyTemplates . Możesz obejrzeć pełny film tego samouczka na dole tego bloga.
Aby ustawić zakres dat do obliczania średnich miesięcznych wyników, użyjemy fragmentatora dat.
Fragmentator usługi LuckyTemplates to alternatywa dla filtrowania , która zawęża część zestawu danych pokazywaną w innych wizualizacjach raportu. Fragmentator dat lub filtr służy po prostu do ograniczenia względnych zakresów dat w usłudze LuckyTemplates.
Z drugiej strony Skumulowana suma służy do wyświetlania całkowitej sumy danych w miarę wzrostu w czasie lub dowolnej innej serii lub progresji.
Zazwyczaj przeglądając , analizujemy je w określonym dniu lub w miesiącach i latach . W tym artykule będziemy obliczać sumy skumulowane tylko dla miesięcy.
Interesującą rzeczą w tej konkretnej technice jest to, że kiedy masz kontekst tylko miesiąca , musisz uwzględnić różne wybrane lata. Może to nastąpić poprzez wybór fragmentatora dat usługi LuckyTemplates lub filtr na poziomie strony.
Ten konkretny przykład wynika z bardzo interesującego tematu na DNA . Sprawdź to, jeśli chcesz przejrzeć więcej.
Spis treści
Ocena problemu
Ktoś chciał pokazać Skumulowaną sprzedaż na podstawie nazwy miesiąca , zamiast według miesiąca i roku .
Problem polega na tym, że wybrana data ostatecznie obejmuje cały rok.
Musimy więc przeanalizować, w jaki sposób możemy najprawdopodobniej nadal uzyskiwać skumulowaną sumę, tak jak to był jeden wybrany konkretny rok.
Na przykład, jeśli masz w tabeli dat od stycznia do września przyszłego roku, najprawdopodobniej masz tam łącznie 20 miesięcy. W takim przypadku standardowy wzorzec sumy skumulowanej nie zadziała, więc będziemy musieli go zmienić.
To zdecydowanie ciekawy scenariusz i naprawdę dobra okazja do nauki zaawansowanego języka DAX dla każdego.
Najpierw rzućmy okiem na to, jak faktycznie działa standardowy wzorzec sumy skumulowanej .
Przegląd wzorca skumulowanej sumy
W tym przykładzie przyjrzymy się bardzo ogólnemu Sales .
Ta formuła służy do obliczania sprzedaży w wybranym zakresie . Funkcja ALLSELECTED wyświetla tutaj przede wszystkim wartości na podstawie zakresu dat wybranego w tym konkretnym raporcie.
Jak widać tutaj , we fragmentatorze dat usługi LuckyTemplates , jesteśmy obecnie między 2 lutego a 20 września .
Teraz, w tej bieżącej tabeli kontekstowej, możemy sprawdzić, czy formuła sprzedaży skumulowanej działa całkowicie dobrze. Dzieje się tak, ponieważ nadal oblicza akumulację całkowitej sprzedaży od stycznia do września.
Konflikt w korzystaniu ze wzorca skumulowanej sumy dla średnich wyników miesięcznych
Chociaż formuła sumy skumulowanej obecnie działa dobrze, mogą wystąpić problemy podczas wyprowadzania obliczeń na podstawie fragmentatora dat .
Jak pokazano na obrazku, po prostu powoli rozszerzyłem zakres dat i przeciągnąłem go na następny rok.
Ta formuła akumuluje miesięczną łączną sprzedaż , ale zaczyna również przenosić akumulację na nowe miesiące. Tak więc daje to nieparzystą wartość dla stycznia , który jest tak naprawdę kontynuacją wszystkich poprzednich miesięcy .
Innymi słowy, poprawnie oblicza, ale tak naprawdę nie daje nam wyniku, którego szczególnie chcemy.
To, co obecnie robi tutaj, to zaczyna się od wartości ze stycznia , aż do grudnia ; a następnie ponownie przeskakuje do stycznia , kumulując się od grudnia i tak dalej.
Jeśli ponownie przeciągnę datę, zobaczysz, że wartość sprzedaży skumulowanej spada jeszcze niżej.
A potem, kiedy faktycznie przeciągniesz to dość daleko, zauważysz, że skumulowana sprzedaż od stycznia do maja wyniosła 23 miliony , co jest w zasadzie sumą. To po prostu coś w rodzaju cyklu dla każdego miesiąca każdego roku.
W rzeczywistości możemy chcieć uzyskać zaktualizowaną sumę skumulowaną opartą na średnich miesięcznych wynikach ; gdzie powinien zaczynać się od całkowitej sprzedaży w styczniu , a następnie kumulować się od tego momentu.
Aby rozwiązać ten problem, należy zastosować technikę nieco inną niż myślisz. Musimy również upewnić się, że sumy są prawidłowe i że dynamicznie dopasowują się do różnych wyborów we fragmentatorze dat , które mogą pochodzić od użytkowników.
Kolumna Skumulowana miesięczna sprzedaż
Przyniosę wynik mojej formuły dla tego konkretnego problemu i pokażę, dlaczego to faktycznie działa.
Najwyraźniej zobaczysz tutaj, że zawsze gromadzi miesięczną łączną sprzedaż .
Ale sprawdź, co się stanie, gdy spróbuję to rozszerzyć.
Kumuluje się zawsze od stycznia . Nie wykonuje dziwnych obliczeń, które wykonuje wzorzec sprzedaży skumulowanej .
Oczywiście kolumna Skumulowana sprzedaż miesięczna daje bardziej logiczny wynik.
Z drugiej strony wynik Skumulowanej sprzedaży nie ma większego sensu z punktu widzenia wizualizacji.
W moim rozwiązaniu odtworzyłem nowy wzorzec, który dał nam odpowiedź, której potrzebowaliśmy w tym konkretnym scenariuszu.
Porozmawiajmy teraz o tym, jak udało nam się opracować dostarczone rozwiązanie.
Tworzenie zakresu dat
Utworzenie zakresu dat jest pierwszą rzeczą, której potrzebujemy do ustalenia formuły.
Aby to stworzyć, zainicjowaliśmy minimalną datę , która była reprezentowana przez zmienną MinDate; oraz datę maksymalną , która była reprezentowana przez zmienną MaxDate . Następnie wykonaliśmy obliczenia dla każdej zmiennej za pomocą ALLSELECTED, MIN i .
Funkcja ALLSELECTED pobiera kontekst reprezentujący wszystkie wiersze i kolumny w zapytaniu , zachowując jawne filtry i konteksty inne niż filtry wierszy i kolumn . Ta funkcja może służyć do uzyskiwania wizualnych podsumowań w zapytaniach.
Tymczasem zwraca najmniejszą wartość w kolumnie lub między dwoma wyrażeniami skalarnymi, a funkcja MAX zwraca największą wartość.
Po zainicjowaniu minimalnej i maksymalnej daty mogliśmy utworzyć zakres dat w nieco inny sposób niż we wzorcu Cumulative Total .
Musiałem odtworzyć tę część tabeli, w której miałem nazwę miesiąca i całkowitą sprzedaż. Dzieje się tak , ponieważ chcieliśmy go obliczyć tylko w tym konkretnym zakresie dat.
Tak więc za pomocą funkcji SUMMARIZE mogłem zawęzić zakres dat .
Dodawanie kolumn MonthName i MonthNumber
Jak widać, uwzględniliśmy kolumnę MonthName z tabeli Dates oraz kolumnę Sales , która jest w zasadzie Total Sales .
Teraz pierwsza część formuły różni się obecnie od wzorca Skumulowana sprzedaż .
Ponadto do wzorca logicznego dodaliśmy Miesiąc . Zostało to pobrane z tabeli Dates . Będzie to służyć jako wirtualna lub urojona kolumna , która ustawi wartość od 1 do 12 dla miesięcy od stycznia do grudnia .
Na podstawie wartości kolumny MonthNumber udało mi się obliczyć sumę skumulowaną na podstawie liczby miesięcy.
Obliczanie skumulowanej sumy na podstawie liczby miesięcy
Mówiąc dokładniej, kolejne części formuły iterują przez każdy pojedynczy wiersz w określonej tabeli.
Następnie kolumna MonthNumber zostanie oceniona, jeśli jest mniejsza lub równa maksymalnemu miesiącowi roku .
Ta część polega na obliczeniu aktualnego numeru miesiąca.
Na przykład, jeśli jesteśmy w miesiącu May , wartość MonthNumber będzie wynosić 5 . Następnie ten konkretny wzorzec logiczny wewnątrz przechodzi przez tę tabelę dla każdego pojedynczego wiersza .
W tym momencie oceni, czy są jakieś liczby mniejsze lub równe 5 . Jeśli tak, uwzględni je w obliczeniach i zachowa tę kolumnę z tabeli.
Na koniec policzymy kwotę Sales .
I w ten sposób dochodzimy do 11. rzędu, czyli listopada .
Ta część oceniła listopad jako 11 .
Przejrzeliśmy całą tabelę i oceniliśmy, czy 11 dzień miesiąca jest mniejszy lub równy bieżącemu miesiącowi w kontekście, którym jest 11 .
Następnie pójdziemy i policzymy Sales , która jest reprezentowana przez tę konkretną kolumnę tutaj wewnątrz .
Sumy skumulowane w usłudze LuckyTemplates bez żadnych dat — zaawansowane
sumy bieżące w języku DAX w usłudze LuckyTemplates: Jak obliczyć za pomocą formuły języka DAX
Porównaj informacje skumulowane w różnych miesiącach w usłudze LuckyTemplates
Wniosek
W moim proponowanym rozwiązaniu użyłem kombinacji formuł DAX, w tym SUMX i SUMMARIZE . Ale to, co musisz również zrobić, to upewnić się, że otoczyłeś te konkretne funkcje instrukcją FILTER.
Ta instrukcja filtra pozwoli ci ostatecznie uzyskać prawidłową sumę skumulowaną na podstawie dynamicznej logiki daty.
W tym samouczku jest trochę do nauczenia się, ale jest to naprawdę interesująca treść. Mamy nadzieję, że możesz wdrożyć niektóre z tych technik we własnych modelach.
Gdy nauczysz się łączyć ze sobą wiele w usłudze LuckyTemplates , rozwiązanie tych unikalnych scenariuszy stanie się całkowicie wykonalne.
Powodzenia w nurkowaniu w tym.
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.