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

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 .


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.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Pomysły na materializację pamięci podręcznych danych w DAX Studio

W tym samouczku omówiono idee materializacji pamięci podręcznych danych oraz ich wpływ na wydajność języka DAX w dostarczaniu wyników.

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Jeśli do tej pory nadal korzystasz z programu Excel, jest to najlepszy moment, aby zacząć korzystać z usługi LuckyTemplates na potrzeby raportowania biznesowego.

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć