Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Pokażę ci, jak zamienić kod M dla tabeli dat w zapytanie tabelaryczne. Możesz obejrzeć pełny film tego samouczka na dole tego bloga.

Uznałbym poziom trudności tego samouczka za średniozaawansowany, ponieważ jeśli masz jakiekolwiek doświadczenie z kodami M, łatwo byłoby ci podążać dalej. Jeśli nie masz żadnego doświadczenia w tym zakresie, sugeruję najpierw zapoznać się z kodami M, aby ułatwić sobie zrozumienie przedstawionych tu koncepcji.

Spis treści

Wywołane zapytanie o funkcję i zapytanie o tabelę dat

To jest zapytanie o tabelę dat i wywołane zapytanie o funkcję.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Jeśli spojrzysz na okienko Zastosowane kroki po prawej stronie, jest tylko jeden krok. Pokazuje źródło tego zapytania.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Tak więc, jeśli chcesz opracować kod M dla tej tabeli dat, musisz przełączać się między funkcją a zapytaniem tabelarycznym, aby zobaczyć wszelkie zastosowane zmiany.

Oznacza to, że radzenie sobie z błędami spowodowanymi przez dowolne zmiany jest bardziej skomplikowane. Doprowadzi to do błędu w samym zapytaniu tabeli, a następnie będziesz musiał przeszukać wiersze kodu, aby naprawić błąd.

Na następnej stronie przedstawiono zapytanie dotyczące daty, które zwraca tabelę zamiast funkcji.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Patrząc na Zastosowane kroki po prawej stronie, zobaczysz, że tym razem wymieniono wiele kroków.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Oznacza to, że podczas opracowywania kodu M tabeli dat natychmiast zobaczysz wyniki zmian w tym zapytaniu tabelarycznym.

Co ważniejsze, za każdym razem, gdy zmiana spowoduje błąd, możesz łatwo zidentyfikować krok, który spowodował błąd. Ułatwia to rozwiązanie problemu.

Stosowanie kodu M

Kod M tabeli dat można znaleźć na forum LuckyTemplates. Znajduje się w temacie Rozszerzona tabela danych funkcji Power Query M w prezentacji kodu M.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Kod M znajduje się na samej górze. Zaznaczę cały kod i skopiuję.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Następnie utworzę nowe puste zapytanie.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Otworzę Edytor zaawansowany i wkleję ten kod.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Ponieważ widzę, że nie wykryto żadnych błędów, kliknę Gotowe.

Pozwól mi zmienić nazwę tego i nazwać go Daty.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

To zapytanie zwraca funkcję, ale to, czego chcę, to tabela.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Aby wprowadzić niezbędne zmiany, wrócę do Edytora zaawansowanego.

Przekształcanie funkcji w tabelę

Aby to zwróciło tabelę zamiast funkcji, musiałbym wprowadzić pewne zmiany w kodzie M w Edytorze zaawansowanym.

Patrząc na kod M, z łatwością widzę co najmniej dwa środowiska na podstawie liczby instrukcji let.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Każda instrukcja let ma swoją własną klauzulę in, którą można znaleźć na dole.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Możesz pomyśleć, że łatwiej byłoby po prostu usunąć tę ostatnią klauzulę, aby przekształcić ją w tabelę.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Ale nie zamierzam tego robić. Zamiast tego skomentuję to, dodając dwa ukośniki przed ostatnią klauzulą ​​in.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Zamierzam to zrobić również dla pierwszej instrukcji let. To czyni go nieaktywnym.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Poniżej wewnętrznej instrukcji let zamierzam utworzyć sekcję do zadeklarowania moich parametrów, ponieważ nadal muszę przekazać te parametry do tego kodu.

Zamierzam zaznaczyć miejsce, w którym należy zadeklarować te zmienne.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Teraz skopiuję pierwszą zmienną z zewnętrznej instrukcji let i wkleję ją w to miejsce.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

W moim zbiorze danych dane historyczne nie sięgają dalej niż do 2017 r. Aby przekazać wartość do zmiennej StartDate, mogę użyć daty wewnętrznej. Wstawię 1 stycznia, potem zakończę wiersz przecinkiem.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Następnie skopiuję i wkleję następną zmienną, którą jest EndDate.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Wiem, że EndDate wymagałoby prognozowania. Dlatego chcę, aby data końcowa zawsze przypadała na koniec przyszłego roku.

Mam już zmienną w moim kodzie M dla CurrentDate, więc zamierzam się do niej odwołać.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Ponownie użyję daty wewnętrznej. Wyodrębnię Date.Year i użyję CurrentDate jako wartości roku +1. Chcę też, żeby data była 31 grudnia.

Ponownie kończę ten wiersz przecinkiem.

Następna zmienna to opcjonalny parametr o nazwie FYStartMonth.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Więc po prostu skopiuję tę nazwę i wkleję ją.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Zauważ, że czerwone podkreślenie pojawiło się pod FYStartMonth poniżej zmiennej, którą właśnie wkleiłem.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

To dlatego, że ich imiona pasują. Nie stanowiło to problemu, gdy znajdowali się w oddzielnych środowiskach. Ale nazwy zmiennych w jednym środowisku muszą być unikalne. Oznacza to, że muszę zmienić nazwę nowej zmiennej, którą właśnie wkleiłem.

Zamiast nazywać go FYStartMonth, zamierzam nazwać go FYStartMonthNum.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Nie zamierzam przypisywać wartości tej zmiennej, więc po prostu wstawię wartość null.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Ponieważ zmieniłem nazwę zmiennej, muszę również zmienić nazwę wszędzie tam, gdzie odwołuje się ten parametr.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Wracając do zmiennej, zamknę tę linię, dodając na końcu przecinek.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Kolejnym parametrem jest opcjonalna lista świąt. Zamierzam to również skopiować i wkleić, a także zadeklarować jako zerowe.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

To samo dotyczy WDStartNum. Skopiuję go i wkleję, a następnie zadeklaruję jako pusty.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Aby zaznaczyć, gdzie zaczyna się kod tabeli dat, dodam tutaj kolejny komentarz.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Gdy nacisnę Gotowe, zobaczysz, że zapytanie zwraca teraz właściwy typ.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Mam teraz tabelę zamiast funkcji.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

W okienku Zastosowane kroki mogę również zobaczyć wszystkie kroki składające się na zapytanie.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Jeśli chcę wprowadzić jakiekolwiek zmiany w tabeli dat, wystarczy użyć wstążki, aby zmodyfikować lub dodać kroki. W przypadku każdej wprowadzonej zmiany natychmiast zobaczę również wyniki w zapytaniu.

Przekształcanie zapytania tabelarycznego z powrotem w funkcję

Powiedzmy, że chcę zamienić zapytanie tabeli dat z powrotem w funkcję. To tylko kwestia ulepszenia kilku rzeczy w kodzie M, aby odwrócić zmiany, które wprowadziłem wcześniej.

Wrócę do Edytora zaawansowanego i usunę ukośniki przed zewnętrzną instrukcją let.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Następnie usunę ukośniki przed instrukcjami in.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Następnie skomentuję blok zmiennych, który dodałem wcześniej. Więc dodam tutaj ukośnik i gwiazdkę.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Następnie gwiazdka i ukośnik po bloku zmiennych.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Pamiętasz, jak wcześniej zmieniłem ten wiersz kodu z powodu FYStartMonthNum?

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Skopiuję ten wiersz kodu. Następnie dodam nową linię i wkleję ją.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Wytnę pierwszy (w którym wcześniej dokonałem zmian w nazwie zmiennej).

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Następnie na drugim znajdę edytowane nazwy zmiennych.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

I zamienię je z powrotem na FYStartMonth.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates

Po naciśnięciu Gotowe zapytanie w tabeli ponownie zmieni się w funkcję.

Konwertuj funkcję tabeli dat na zapytanie tabeli w usłudze LuckyTemplates


Tworzenie tabeli dynamicznych zapytań dotyczących dat w usłudze LuckyTemplates: samouczek edytora zapytań
Tworzenie tabeli dat w usłudze LuckyTemplates
Konfigurowanie dynamicznych dat początkowych i końcowych dla tabel dat w usłudze Power Query

Wniosek

Po raz kolejny pokazałem, jak wygodne są kody M, zwłaszcza w przypadkach takich jak ten, w których przekonwertowaliśmy funkcję na zapytanie tabelaryczne i odwrotnie. Tak długo, jak masz dostęp do kodu M, który mamy na forum LuckyTemplates, możesz go używać w takich scenariuszach w przyszłości.

Możesz także przeglądać inne kody M, których możesz użyć w innych sytuacjach, w prezentacji kodów M na . Jest to społeczność oparta na współpracy, więc możesz przeczytać komentarze dotyczące innych pomysłów naszych ekspertów i członków.

Wszystkiego najlepszego,

Melisa

***** Nauka 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.