Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

W tym poście chciałbym porozmawiać o ostatniej wskazówce dotyczącej usługi LuckyTemplates, którą wymyśliłem dla członka forum . Pytanie dotyczyło przydatnego wzorca, jeśli chodzi o porównanie pierwszych N dni roboczych lub pierwszych N rozliczonych dni danego miesiąca w porównaniu z tym samym okresem w poprzednim miesiącu. Możesz obejrzeć pełny film z tego samouczka na dole tego bloga.

TJ Henneman chciał porównać pierwszych 5 rozliczonych dni bieżącego miesiąca z pierwszymi 5 rozliczonymi dniami poprzedniego miesiąca, a następnie w dniu 10, dniu 15 i dniu 20. Zauważ, że chce spojrzeć tylko na rozliczone dni, więc nie obejmuje to weekendów i świąt. Możesz sprawdzić jego post .

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Myślę, że można tu znaleźć naprawdę interesujące rozwiązanie do zapytań o moc . Pracowałem również z ciekawym rozwiązaniem DAX nad tym problemem. Omówię to drugie w innym samouczku.

Chcę również przeprowadzić Cię przez ostatnią technikę raportowania, której użyłem w LuckyTemplates Challenge #16. Użyłem przewijanego wskaźnika KPI , który będzie działał naprawdę dobrze w przypadku tego konkretnego problemu.

Ale w przypadku tej wskazówki dotyczącej usługi LuckyTemplates omówię rozwiązanie dotyczące zapytań dotyczących zasilania. Przejdźmy do usługi LuckyTemplates i przyjrzyjmy się naszym danym. W tym przypadku przeprowadziłem symulację danych za pomocą praktycznego narzędzia do zbioru danych, które stworzyliśmy w LuckyTemplates, z którego można korzystać bezpłatnie. Jest to świetne rozwiązanie do tworzenia podstawowego zestawu danych schematu gwiazdy i testowania rozwiązań.

Spis treści

Nasz model danych

Nasz model danych wykorzystuje rozszerzoną tabelę dat oraz serię tabel wymiarów. Mamy również tabelę Sales z trzema latami częściowymi danymi w pierwszym roku, pełnymi danymi w drugim roku i częściowymi danymi w trzecim roku. Na koniec mamy również tabelę Miary .

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Ten zestaw danych również nieco zmodyfikowałem. Wprowadziłem tabelę świąt i połączyłem ją z tabelą rozszerzonych dat , aby mogła prawidłowo obliczyć dni wolne, które usuniemy w tej analizie. Jeśli nie wiesz, jak to zrobić, zapoznaj się z tym samouczkiem .

Następnie odfiltrowałem pierwszy częściowy miesiąc w zbiorze danych, ponieważ ten miesiąc miał tylko kilka dni danych i nie miał dni roboczych, których potrzebujemy. Pamiętaj, że zaczynamy od pierwszego pełnego miesiąca; ale poza tym będzie to twój standardowy zestaw danych. Przejdźmy więc do Power Query i zacznijmy pracować nad tą wskazówką dotyczącą usługi LuckyTemplates.

Jeśli spojrzymy na nasze dane, zobaczysz, że mamy różne zamówienia w danym dniu. Celem jest policzenie wszystkiego, co zaczyna się od 1 kwietnia jako naszego pierwszego dnia roboczego, 2 kwietnia jako drugiego dnia roboczego, 3 kwietnia jako trzeciego dnia roboczego i tak dalej. Będziemy to ponumerować od 1 do N dni roboczych na każdy miesiąc, uwzględniając weekendy i święta.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Tworzenie zduplikowanej tabeli

Aby rozpocząć, musimy utworzyć duplikat tej tabeli, abyśmy mogli agregować do Total Sales i przenieść ją na indywidualny poziom obserwacji. Tę zduplikowaną tabelę nazwiemy Sales Aggregated .

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Być może zauważyłeś, że zduplikowaliśmy tabelę Sales , zamiast tylko się do niej odwoływać. W tym przypadku połączymy tę tabelę z oryginalną tabelą Sales. Jeśli się do niego odniesiemy, spowoduje to problemy, gdy dołączymy do tych dwóch.

Pierwszą rzeczą do zrobienia jest użycie Group By w kolumnie OrderDate . Kliknij przycisk Zaawansowane , ponieważ da nam to pełny obraz tego, co tutaj robimy. Umieścimy Total Day Sales jako naszą nową nazwę kolumny i będzie to suma naszej sumy wiersza.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Teraz mamy każdą datę (pierwsza kolumna) i całkowitą sprzedaż w tym dniu (druga kolumna).

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Scalanie tabeli dat

Następnym krokiem w tej wskazówce dotyczącej usługi LuckyTemplates jest połączenie tego z naszą tabelą Daty, aby dowiedzieć się, które z tych dni są dniami roboczymi, a które nie. Możemy ponownie pogrupować według , podzielić je i odpowiednio ponumerować.

Połączymy naszą tabelę Dates i połączymy OrderDate z Date . W dolnej części widzimy, że zaznaczenie pasuje do każdego wiersza tabeli, tak jak powinno.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Pole, które nas najbardziej interesuje, to IsBusinessDay .

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

To jest podstawowe pole, według którego będziemy grupować, a następnie użyjemy pól Month & Year i MonthnYear .

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Musimy również sprawdzić DayofWeekName , aby upewnić się, że odfiltrowujemy odpowiednie dni.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Po kliknięciu przycisku OK da nam dokładnie to, czego potrzebujemy.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Musimy również upewnić się, że nasza data zamówienia jest posortowana rosnąco.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Następnie wracamy i tworzymy drugi Group By .

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Tym razem klikniemy przycisk Zaawansowane , pogrupujemy według Miesiąc i rok , a następnie dodamy drugie grupowanie.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Druga grupa dotyczy IsBusinessDay , więc możemy ponumerować te, w których dni robocze są prawdziwe.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Następnie utworzymy funkcję AllRows , która nie będzie agregować i będziemy mogli wrócić do pierwotnego poziomu szczegółowości.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

To powinno dać nam zagnieżdżone tabele , w których możemy zobaczyć tabelę dla prawdy i tabelę dla fałszu dla każdego miesiąca.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Tworzenie niestandardowej kolumny

Następnie musimy utworzyć niestandardową kolumnę , aby dodać liczbę potrzebną dla dni roboczych.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Użyjemy funkcji o nazwie Table.AddIndexColumn , która będzie działać na tabeli AllRows i nazwiemy ją Day Index . Chcemy, aby indeks zaczynał się od 1 i zwiększał o 1 z każdym nowym dniem roboczym.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Następnie możemy usunąć pierwsze trzy kolumny i rozwinąć naszą czwartą niestandardową kolumnę.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Jeśli spojrzymy na wynik, otrzymamy indeks dnia, który zlicza dni robocze (prawda), a następnie dni, które są weekendami i świętami w każdym miesiącu (fałsz). Następnie musimy sprawdzić, czy są one w odpowiednim typie pola.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Wróćmy do naszego stołu Sales. Połączymy właśnie utworzoną tabelę Aggregate z naszą tabelą Sales.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Połączymy te w OrderDate . Na dole widać, że pasuje do wszystkich wierszy z pierwszej tabeli.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Po rozwinięciu kolumny Sales Agg wybierz nowe pola, które właśnie dodaliśmy: kolumny Month & Year , DayOfWeekName , MonthnYear , IsBusinessDay i DayIndex .

Oczyśćmy również nasze dane, zanim klikniemy Zamknij i zastosuj . Przenieśmy tabelę Sales Agg do naszej sekcji Przygotowanie danych , a następnie wyładuj tę tabelę, ponieważ nie będziemy jej potrzebować w modelu danych. Następnie kliknij Zamknij i zastosuj .

Nasza praca przygotowawcza do zapytań o zasilanie została zakończona.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Tworzenie parametru warunkowego

Pamiętaj, że w pierwotnym zadaniu chcemy zmienić liczbę dni, na które patrzymy, od 5 do 10 i od 15 do 20. Myślę, że najlepszym sposobem na to jest użycie nowego parametru what- if .

Nazwijmy parametr „co, jeśli” First N Business Days , a jego typem danych będzie liczba całkowita. Wartość minimalna jest ustawiona na przyrost 1, a maksymalna na 20. Następnie ustawimy wartość domyślną na 5, która jest pierwszą wartością, której chciał użytkownik.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Mamy teraz fragmentator, który automatycznie tworzy miarę zbiorów w celu przechwycenia wartości fragmentatora.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Stwórzmy tabelę z naszymi wynikami. Umieśćmy nasz wymiar Month & Year w kanwie, a następnie posortujmy go według Month & Year .

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Po prawidłowym posortowaniu tego pola możemy po prostu usunąć miarę Total Sales i rozwinąć ją.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Tworzenie miary dla liczby dni roboczych

Musimy utworzyć jeszcze jedną miarę, która sprawdza wartość parametru suwaka i oblicza tylko liczbę dni roboczych.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Nazwiemy tę nową miarę Total Sales N Bus Days . Zaczniemy od funkcji , ponieważ zdecydowanie zmieniamy kontekst, oraz od naszej miary Total Sales. Zamierzamy to przefiltrować za pomocą z naszej tabeli Sales.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Kolejnym krokiem jest napisanie warunków, które chcemy uwzględnić dla slidera. Mamy nasz indeks dnia sprzedaży, który utworzyliśmy w dodatku Power Query, i chcemy, aby był on mniejszy lub równy wartości pierwszych N dni roboczych, która jest wartością zebraną przez krajalnicę.

Na przykład, jeśli suwak jest ustawiony na 5, chcemy wszystkie dni z tabeli Sprzedaż, w których indeks dnia jest mniejszy lub równy 5.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

A potem chcemy wyjąć dni wolne od pracy. Odwołamy się do tabeli Date i użyjemy pola IsBusinessDay. Przyjrzymy się tylko wynikowi, który jest PRAWDZIWY.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Na koniec przywróć kontekst miesiąca i roku i zamknij miarę. W tym momencie powinniśmy już iść.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Wrzućmy nową miarę do naszej tabeli.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Możemy przenieść suwak suwaka do znaku 10-dniowego, a tabela będzie dynamicznie obliczać po 10-dniowym znaku.

Porada dotycząca usługi LuckyTemplates: jak porównać pierwsze N ​​dni roboczych

Wniosek

W tej wskazówce dotyczącej usługi LuckyTemplates omówiliśmy sposób dynamicznego porównywania podobnych wyników przy użyciu rozwiązania Power Query. Możemy umieścić to na wykresie słupkowym lub wykresie liniowym.

W niektórych z nadchodzących samouczków przyjrzymy się rozwiązaniu DAX i zaimplementujemy wizualizację przewijania KPI.

Jeśli podobały Ci się treści omówione w tym samouczku, nie zapomnij zasubskrybować kanału telewizyjnego LuckyTemplates .

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

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.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

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

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

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.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

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.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

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.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

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ł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

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.