Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

Ten samouczek koncentruje się na używaniu funkcji number.mod dodatku Power Query do tworzenia naprzemiennego wzorca 0-1 w tabeli dat. Rozwiązanie, które zamierzam wam pokazać, pochodzi od jednego z naszych zaawansowanych użytkowników społeczności, Rajesha, z LuckyTemplates. Możesz obejrzeć pełny film tego samouczka na dole tego bloga.

Celem jest wygenerowanie sekwencji czterech zer na przemian z czterema jedynkami, a następnie powtarzanie jej przez cały dzień.

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

Rajesh był na miejscu w swojej analizie i rozbiciu problemu za pomocą funkcji Power Query M, aby go rozwiązać. Powiedziawszy to, przejdźmy do dodatku Power Query.

Spis treści

Funkcja Power Query M Number.Mod

Sercem naszego rozwiązania będzie Power Query M, a konkretnie funkcja number.mod . Co to robi?

Możesz sprawdzić wewnętrzną dokumentację dowolnej funkcji M, wprowadzając jej nazwę bez nawiasów, jak pokazano tutaj na pasku formuły. Ta funkcja zwraca resztę z dzielenia całkowitego. Zajmuje do trzech parametrów, pierwsze dwa, liczbę i dzielnik, który jest również liczbą.

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

Teraz zacznijmy. Wybiorę moje przykładowe zapytanie zawierające przygotowany przeze mnie zakres dat.

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

W wielu przypadkach numer. mod jest używany w połączeniu z kolumną indeksu, która jest następnie używana jako jej pierwszy parametr. Ale nie zamierzam tego robić, ponieważ jeśli się nad tym zastanowić, wartość daty jest liczbą całkowitą. Tak więc tworzenie indeksu, który ma taką samą szczegółowość jak kolumna Data, w której każdy wiersz ma unikalną wartość, jest czymś, czego możemy uniknąć.

Wszystko, co musimy zrobić, aby naśladować indeks, to od każdej daty w kolumnie Data odjąć pierwszą datę w naszej tabeli dat. Aby to zrobić, możemy zapisać wartość daty początkowej w zmiennej, abyśmy mogli jej używać w kółko. Uważam, że Edytor zaawansowany jest najlepszym miejscem do tego.

Otworzę więc okno Edytora zaawansowanego i utworzę nową zmienną. Nazwijmy to StartDate . Zapisałem tutaj swoją Pierwszą randkę, więc po prostu ją skopiuję i wkleję. Nie zapomnij o przecinku na końcu, a teraz możemy zastąpić tę Pierwszą randkę naszą zmienną Data rozpoczęcia.

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

Jak widać nic się nie zmieniło.

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

Tworzenie niestandardowej kolumny dla wzorca Power Query M

Za pomocą tej minitabeli dodamy niestandardową kolumnę.

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

Nazwijmy tę kolumnę Pattern i wprowadź funkcję Power Query M, number.mod . Widzisz tutaj dwa parametry, liczbę jako liczbę dopuszczającą wartość null i dzielnik jako liczbę dopuszczającą wartość null. Wymaga więc dwóch wartości typu liczbowego jako parametrów.

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

Teraz nie mamy numerów, prawda? Mamy daty i nie ma w nich czegoś takiego jak automatyczna konwersja typu. Musimy więc uzyskać liczbę z naszej wartości daty. Więc wpisujemy tutaj, liczba. z naszej kolumny Data , a następnie odejmujemy naszą zmienną StartDate.

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

Teraz powiedzmy, że pierwsza data w naszej tabeli Date zwraca jedynkę, wtedy nasza StartDate również zwróci jedynkę. I tak, jeden minus jeden równa się zero. Chcę, aby nasza numeracja indeksów zaczynała się od jedynki zamiast od zera. Więc będziemy musieli dodać jeden z powrotem plus jeden. Teraz jeden minus jeden równa się zero plus jeden zwraca jeden dla pierwszego rekordu.

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

W przypadku drugiego rekordu otrzymujemy wartość dwa (2) dla daty w kolumnie Data minus jeden (1) z naszej wartości StartDate, która jest równa jeden, plus ta, którą dodajemy z powrotem, zwraca dwa i tak dalej . Nasz powtarzający się wzór był oparty na serii czterech naprzemiennych wartości. Więc jako dzielnik przekażę wartość cztery (4).

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

Zobaczmy, co to daje. W rzędzie czwartym otrzymujemy zero, podobnie jak w rzędzie ósmym. Tak więc każde czwarte wystąpienie zwraca wartość zerową dla tego rekordu.

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

Tworzenie konstrukcji IF-THEN-ELSE

Wróćmy do naszego okna dialogowego klienta i rozszerzmy logikę, którą napisaliśmy do tej pory. Z wyjątkiem dzielnika, musimy powtórzyć tę samą logikę, aby móc zidentyfikować ósme wystąpienie.

Jednak w tym ósmym rzędzie chcemy innej wartości. Tak więc, aby dokonać rozróżnienia między czwartym a ósmym wystąpieniem, możemy użyć konstrukcji JEŚLI-TO-JEŻELI. W ten sposób możemy zwrócić wartość dla pierwszego testu logicznego, który zwraca prawdę.

Więc jeśli , a ja wkleję tutaj nasz kod (z wyjątkiem dzielnika), zamień ten dzielnik na ósemkę, aby w ten sposób ósmy wiersz zwrócił zero. Więc jeśli to równa się zeru, oznacza to, że nie powiedzie się na drodze do prawdy lub fałszu. Następnie chcemy jeden (1). W przeciwnym razie , jeśli nasza logika identyfikuje tutaj czwarty wiersz równy zeru, to chcemy zero (0). W przeciwnym razie nie chcemy odzyskać wartości. Dodajmy więc null .

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

Teraz sprawdźmy ponownie naszą logikę. Tak więc przy każdym czwartym wystąpieniu otrzymujemy to zero. A potem, ósmego, dostajemy jedynkę. Następnie otrzymujemy zero i jedynkę i tak dalej.

Więc to wygląda dobrze. Wszystko, co musimy teraz zrobić, to uzupełnić te wartości.

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat

Tak więc wewnątrz paska formuły dodamy na początku Table.FillUp , a następnie kilka nawiasów otwierających. Na końcu naszego kodu dodajemy numer typu – musimy też dodać kolumnę jako listę. Więc idziemy przecinek , a następnie używamy nawiasów klamrowych jako inicjatora listy i jako wartość tekstową przekazujemy w nazwie naszej kolumny Pattern . Nie zapomnij o nawiasach zamykających i naciśnij OK.

Power Query M: Naprzemienny wzorzec 0-1 w tabeli dat


Przewodnik dla początkujących po kodzie M w LuckyTemplates
Funkcja M dla tabeli dat – jak dodać parametr w edytorze zapytań
Sortowanie kolumn tabeli dat w LuckyTemplates

Wniosek

To bardzo wyjątkowy scenariusz i szczerze mówiąc, nie przychodzi mi do głowy żadna aplikacja dla tego konkretnego wzorca, ale mam nadzieję, że dostrzegasz potencjał tworzenia sekwencji przy użyciu funkcji Power Query M, number.mod.

Aby uzyskać więcej informacji, obejrzyj cały film poniżej tego samouczka.

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.