Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Pokażę ci, jak korzystać z funkcji przesunięcia w usłudze LuckyTemplates . Jest to jedno z najbardziej dynamicznych narzędzi, których możesz użyć, zwłaszcza w tabelach dat.

Gdy opanujesz, jak stosować ją w projektach analizy czasowej, możesz uzyskać bardziej dogłębny wgląd, którego nie uzyskasz przy użyciu żadnego innego podejścia. Możesz obejrzeć pełny film tego samouczka na dole tego bloga.

Spis treści

Zrozumienie mechaniki funkcji przesunięcia

Zacznę od pokazania mechaniki funkcji przesunięcia.

Przesunięcia pokazują różnicę między dzisiejszą datą a innymi datami w Twoich danych.

Jak widać w poniższej tabeli dat, skupiłem się na kwartale i roku , aby zobaczyć rzeczywisty ruch danych.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Fioletowy rząd pokazuje bieżący okres . Zauważ, że bieżący okres ma zawsze wartość przesunięcia równą 0 .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Powyżej, na żółto, wszystkie dane pochodzące z przeszłości . Zobaczysz, że liczby tutaj to 0 lub mniej niż 0, reprezentowane przez dane ujemne .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Oznacza to, że dla danych z przyszłości będą one wykazywać wartości dodatnie . W zależności od ziarnistości kolumny może ona również zawierać 0 .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Co sprawia, że ​​offsety są potężne?

Przesunięcia mogą być kolejnymi liczbami reprezentującymi różnicę między różnymi danymi w tabeli . Ale to, co sprawia, że ​​przesunięcia są wspaniałe, to to, że nie mają granic .

Na przykład kwartały będą przebiegać od 1 do 4, reprezentując 4 kwartały w roku. Miesiące trwają od 1 do 12, a tygodnie mogą trwać od 1 do 52 lub 53, w zależności od tego, jaki jest rok. Ale kiedy dotrę do ostatniej liczby, muszę zacząć od nowa.

Nie dotyczy to offsetów. Jeśli chodzi o przesunięcia, zawsze będą one pokazywać względną pozycję względem bieżącej daty i drugiej daty, do której się odwołuje .

Tak więc za każdym razem, gdy tabela dat jest odświeżana, aktualizowana jest również logika, która sprawia, że ​​przesunięcia działają. Oznacza to, że zaktualizowana wartość pojawi się również w tabeli dat.

Przykład kolumny przesunięcia tygodnia

Aby dać ci jaśniejszy obraz działania funkcji przesunięcia, podam przykład jej zastosowania.

W moich przykładowych danych dzisiejsza data to 24 kwietnia 2020 r .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Ponownie zasady przesunięcia stanowią, że bieżący okres jest reprezentowany przez 0, przyszłe dane są reprezentowane przez wartości dodatnie, a przeszłe okresy są reprezentowane przez liczby ujemne .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Na mojej stronie mam również krajalnicę, która zawiera wartość WeekOffset. Obecnie pokazuje wszystkie wartości od -53 do 0, przy czym 0 reprezentuje bieżący tydzień .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

24 kwietnia (czyli dzisiaj) przypada na 17 tydzień .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Ta rozszerzona tabela dat obejmuje tylko numery tygodni ISO . Oznacza to, że tygodnie zaczynają się w poniedziałek . Oznacza to również, że tydzień zawsze będzie zawierał 7 dni .

Ale istnieje wiele niestandardowych wymagań tygodniowych, które nie są zgodne z tą samą logiką. Możesz dowiedzieć się więcej o tych przypadkach w różnych tematach poruszanych na forum LuckyTemplates.

Możesz także rozważyć użycie Miesiąca i Roku zamiast Tygodnia i Roku, jeśli lepiej pasuje to do Twojej sytuacji.

Wracając do przykładowych danych, być może zauważyłeś, że wartości WeekOffset mieszczą się w idealnym zakresie numerów sekwencyjnych .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Dzieje się tak, ponieważ mają one tę samą szczegółowość w całym tekście . Nie ma zduplikowanych wartości ani brakujących wartości.

Oczywiście zastosowana tutaj miara Total Sales jest wykonywana w zwykły sposób, ze zwykłą sumą przez sprzedaż dla ilości razy cena . Następnie wszystko jest agregowane, aby uzyskać tygodniową wartość.

Ale co, jeśli chcę zobaczyć tylko ostatnie 4 tygodnie sprzedaży?

Muszę tylko zmienić krajalnicę na zakres od -3 do 0 .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Teraz moja tabela pokazuje tylko ostatnie cztery tygodnie sprzedaży.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Więc kiedy poruszam się w czasie, moja tabela dat jest aktualizowana. To samo dzieje się, gdy nowe wyniki sprzedaży są ładowane do tabeli faktów.

Korzystanie z przesunięć w języku DAX

Tym razem pokażę, jak można wykorzystać funkcję offset w miarach języka DAX.

Mam tabelę z Tygodniem i rokiem oraz Łączną sprzedażą .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Jeśli więc chcę obliczyć sprzedaż z poprzedniego tygodnia bez przesunięć, musiałbym najpierw wyodrębnić numer CurrWeek, a następnie sprawdzić, jaka jest wartość CurrYear .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Jeśli muszę pominąć granicę roku, będę musiał obliczyć, jaki jest Weeknumber dla tego ostatniego roku.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Stamtąd użyłbym SUMX jako funkcji iteracyjnej w tabeli dat. Musiałbym również sprawdzić, czy CurrWeek to tydzień numer 1 .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Jeśli nie jest to tydzień 1, wystarczy odjąć 1 od wartości CurrWeek dla CurrYear . Następnie całkowitą sprzedaż można ostatecznie podsumować .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Patrząc na poniższą tabelę, możesz teraz zobaczyć, że wszystkie wartości są idealnie zagregowane. Wartości wyświetlane w Total Sales są po prostu przenoszone na następny tydzień.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Nawet jeśli przekroczę granicę roku z 2017 na 2018, wzór się nie zepsuje. Całkowita sprzedaż z ostatniego tygodnia 2017 roku jest nadal doskonale obliczona dla tygodnia numer 1 2018 roku.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Tym razem wykonam te same obliczenia, ale z zastosowanymi przesunięciami tabeli dat.

Tak wygląda ta miara, gdy używam przesunięć.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Aby uzyskać wartość PrevWeek , wystarczy odwołać się do wybranego WeekOffset i odjąć 1.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Następnie użyję funkcji dla całkowitej sprzedaży we datach , w których przesunięcie tygodnia jest równe wartości PrevWeek .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Patrząc na wyniki, wyniki wydają się być doskonałe, nawet w okresie przejściowym z 2017 do 2018 roku.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Problem jest jednak w Total . Najwyraźniej nie jest to prawidłowa wartość.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Oto jak to naprawię.

Po pierwsze, zwróć uwagę, że kolumna Tydzień i rok jest ułożona w porządku rosnącym .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Zamierzam to zmienić i zamiast tego posortować kolumnę w porządku malejącym , z 2020 na górze.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Ponieważ nie ma kontekstu pochodzącego z Week & Year , nie identyfikuje wartości przesunięcia bieżącego tygodnia, ale nadal odejmuje 1 . Ale to, co mogę zrobić, to zastosować sumę skumulowaną, aby dostosować sumę .

Tak będzie wyglądać miara:

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Początek taktu nie zmienia się. Jest dokładnie taki sam, jak poprzedni środek, który zastosowałem.

Ale ponieważ muszę użyć wzorca podobnego do sum skumulowanych, muszę użyć funkcji OBLICZ w pierwszym tygodniu nad datami z odjęciem 1.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Muszę również zidentyfikować wartość MAX WeekOffset z ALLSELECTED dat i odjąć również jedną od tego.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Następnie ponownie użyję funkcji CALCULATE dla Total Sales . Użyję funkcji , aby uwzględnić WSZYSTKIE daty . Wartość WeekOffset powinna być większa lub równa FirstWeek i mniejsza lub równa LastWeek .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Ponownie, jest to zgodne z podstawowym wzorcem dla sum skumulowanych.

Następnie mogę przystąpić do sprawdzania sumy końcowej za pomocą wzorców .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Więc JEŚLI tydzień i rok ISINSCOPE , oczekuję, że wyniki pokażą LWSales . Ale jeśli tak nie jest, oczekuję, że pojawi się LWTotal .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Tak więc, jeśli wrócę do mojego stołu, pokaże on teraz prawidłową sumę.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Przesunięcia dla określonych tygodni

Pozwólcie, że wrócę do przykładu, którego użyłem wcześniej, w którym przefiltrowałem dane, aby pokazać tylko ostatnie cztery tygodnie.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Jeśli wejdę w miarę, mogę uzyskać te same wyniki, używając przesunięć. Tak by to wyglądało.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Musiałem tylko zidentyfikować bieżącą wartość WeekOffset dla kontekstu pochodzącego z wierszy.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

Gdy już to zrobię, mogę zastosować funkcję CALCULATE do wartości Total Sales dla WSZYSTKICH dat , w których wartość WeekOffset jest większa lub równa ThisWeek minus 3 albo mniejsza lub równa wartości ThisWeek .

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat

To zwraca dokładnie taką samą wartość jak przykład, który próbuję replikować.

Korzystanie z funkcji przesunięcia w rozszerzonych tabelach dat


Skumulowane sumy oparte na średnich miesięcznych wynikach w usłudze LuckyTemplates
Normalizacja danych w usłudze LuckyTemplates dla różnych dni Wyniki
Tworzenie kompleksowej tabeli dat w usłudze LuckyTemplates Naprawdę szybko

Wniosek

Przykłady, które pokazałem powyżej, pokazują, jak naprawdę dynamiczne są przesunięcia. Możesz ich używać w filtrach, plasterkach, a nawet w obliczeniach DAX.

Przesunięć można również używać w rozszerzonych tabelach dat obejmujących tygodnie, miesiące, kwartały, lata i lata obrachunkowe. Dają dużą elastyczność i mogą z łatwością pomóc w uzyskaniu pożądanych rezultatów.

Po prostu kontynuuj zabawę z przesunięciami i zobacz, jakie inne zastosowania możesz dla nich mieć. Możesz także sprawdzić pod kątem innych przypadków, w których funkcja przesunięcia okazała się przydatna.

Wszystkiego najlepszego,

Melisa

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.