Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Ukážem vám, ako pridať parameter do funkcie M v dotaze na tabuľku dátumov . Tento príklad je založený na otázke, ktorá bola položená na. Celé video tohto návodu si môžete pozrieť v spodnej časti tohto blogu.

Otázka bola, ako sa prepne číslovanie 1. dňa v týždni z 0 na 1 . Upozorňujeme, že to nemení skutočný začiatok dňa v týždni. V tejto tabuľke dátumov bude začiatok týždňa vždy pondelok. Ide len o označenie pondelka ako prvého dňa namiesto dňa 0.

Tento proces nie je nevyhnutne zložitý, ale potrebujete základné znalosti o štruktúre jazyka M. Ak ste členom LuckyTemplates, môžete sa pozrieť na. Úvod sa dotýka témy.

Obsah

Funkcia M a tabuľka rozšírených dátumov

Dovoľte mi začať tým, že prejdeme do Power Query . Už som tu skopíroval funkciu tabuľky dátumov M.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Funkciu M som získal z kategórie M Code Showcase vo fóre LuckyTemplates . Kód je pod témou.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Ak otvorím rozšírený editor , toto je kód.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Je tam veľa M kódu, čo môže rušiť pozornosť.

Vytvorenie testovacieho dotazu

Keďže vo funkcii M sa toho deje príliš veľa, začnem namiesto toho s novým prázdnym dotazom .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Pomenujem tento testovací dotaz .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Ďalej otvorím Rozšírený editor .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Pretože sa chystám vytvoriť funkciu, pridám pár zátvoriek a vymažem tam všetok predvolený kód.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Ak chcete spustiť funkciu, deklarujem voliteľný parameter .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Ďalej pridám premennú. Túto premennú nazvem WDStartNum , pretože bude znamenať počiatočné číslo dňa v týždni. Potrebujem tiež deklarovať jeho typ, takže napíšem číslo .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Deklarujem typ, aby sa predišlo chybám. Ak to nechám ako akýkoľvek typ, znamená to, že by mohol odovzdať tabuľku alebo hodnotu dátumu namiesto len odovzdávania čísel.

Ďalším krokom je pridanie klauzuly let a klauzuly in .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Pod klauzulou let potrebujem názov premennej. Takže túto premennú nazvem WDStart .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Teraz potrebujem otestovať, či prešlo WDStartNum . Ak prejde, nebude to znamenať hodnotu null . Takže vyhlásim, že ak sa WDStartNum nerovná null, chcem, aby sa vrátila hodnota .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Pokiaľ ide o klauzulu in, chcem, aby bol prijatý rovnaký krok. Takže tam dám WDStart , čo je to, čo sme nazvali našu premennú skôr pod klauzulou let.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Keď stlačím Hotovo, funkcia sa vytvorí. Takže sa pokúsim preniesť hodnotu cez túto funkciu.

Skúsim napísať písmeno „a“.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Pamätajte, že predtým som vyhlásil, že hodnota musí byť číslo. Pretože rozpozná, že zadaná hodnota nespĺňa túto požiadavku, nedovolí mi zadať tento parameter.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Takže to vymažem a nechám miesto prázdne.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Keď kliknem na Vyvolať, vráti hodnotu 0.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Keď sa vrátim k môjmu pôvodnému dotazu, uvádza sa, že ak sa hodnota nerovná null, malo by sa vrátiť číslo WDStartNum. Ak sa rovná null, mala by sa vrátiť 0.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Takže tá 0 je správna.

Tentoraz sa pokúsim odovzdať hodnotu zmenou čísla v TestQuery. Je pravda, že po stlačení klávesu Enter vráti „1“.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Teraz sa pokúsim prekonať rok 2020 v TestQuery. Keď stlačím enter, vráti sa aj rok 2020.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Očividne nechcem, aby sa to stalo. Keďže chcem hodnotu, ktorá predstavuje začiatok týždňa, chcem, aby sa zobrazovala buď 0 alebo 1. To znamená, že musím vytvoriť ďalší test, aby som zistil, či zadané číslo je 0 alebo 1. Môžem na to použiť funkciu List.Contains .

Pomocou List.Contains

Vytvoril som prázdny dopyt a zadal List.Contains bez použitia zátvoriek.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Keď stlačím enter, zobrazí sa mi dokumentácia k tejto funkcii.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

List.Contains označuje, či zoznam obsahuje hodnotu.

Vyžaduje teda zoznam ako prvý parameter a potom sa pridá hodnota. Ak sa táto hodnota nájde v zozname, vráti hodnotu true. V opačnom prípade vráti hodnotu false.

Znova otvorím rozšírený editor , aby som mohol vykonať potrebné zmeny v mojom dotaze.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Namiesto testovania, či sa hodnota nerovná null, použijem List.Contains .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Teraz uvediem zoznam hodnôt, ktoré sa majú použiť na túto funkciu.

Ako inicializátor zoznamu použijem zložené zátvorky. Do týchto zložených zátvoriek dám 0, 1. Po uzavretí tejto zátvorky pridám čiarku.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Pre druhý parameter použijem WDStartNum. Potom pridám zátvorku.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Keď je toto na mieste, znamená to, že 0 alebo 1 by mi malo poskytnúť WDStartNumber. Ak sa umiestni niečo iné ako 0 alebo 1, mal by som dostať výsledok 0.

Dovoľte mi to otestovať vložením roku 2020 do TestQuery. Ako sa očakávalo, vráti sa „0“ (nula).

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Je to preto, že hodnota 2020 nie je v zozname.

Pridanie parametra do funkcie M

Teraz, keď som si istý, že kód funguje, môžem ho konečne vložiť do skutočnej tabuľky dátumov a funkcie M. Otvorím rozšírený editor a potom skopírujem logiku .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Potom vstúpim do dotazu na tabuľku dátumov.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Pôvodnú funkciu M otvorím cez Rozšírený editor .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Potom tam vložím svoj kód. Uistite sa, že na konci riadku je čiarka.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Ďalej zvýrazním a skopírujem názov môjho parametra .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Potom sem pridám tento parameter .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Všimnite si, že najprv musím pridať čiarku na koniec existujúceho riadku, potom musím tento parameter deklarovať ako voliteľný . Potom môžem umiestniť WDStartNum a pridať typ .

Pridal som parameter a tiež som vložil logiku. Ale tiež sa musím uistiť, že dosiahnem očakávané výsledky. Takže idem hľadať riadok kódu, ktorý pokrýva deň v týždni.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Potom pridám + WDStart .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Kliknutím na tlačidlo Hotovo zatvorím editor. Potom vyvolám dotaz.

Ako dátum začiatku uvediem 1. január 2020, potom ako dátum ukončenia použijem 31. december 2020.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Ako počiatočný mesiac Fiškálneho roka použijem „7“, potom uvediem „0“ ako WDStartNum.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Kliknem na Vyvolať. Teraz mám tabuľku dátumov.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Premenujem ho, aby sa dal ľahko identifikovať.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Teraz skontrolujem výsledky.

Toto je môj stĺpček DayOfWeek .

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Ukazuje, že pondelok sa vrátil ako 0.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Vráťme sa k otázke vo fóre, potrebujem zmeniť číslo začiatku týždňa na 1 namiesto 0. Takže to zmením v opatrení.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Keď stlačím enter, pondelok bude teraz deň 1 namiesto dňa 0.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Pri pohľade na číselný rozsah sa teraz pohybuje od 1 do 7 namiesto 0 až 6.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Čo sa stane, ak miniem nulovú hodnotu?

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov

Potom sa DayOfWeek pre pondelok vráti späť na 0.

Funkcia M pre tabuľku dátumov – Ako pridať parameter do editora dotazov




Záver

Takto môžete pridať ďalší parameter priamo do funkcie M v dotaze na tabuľku dátumov. Tento proces nie je vôbec zložitý, ako som už spomenul. Pokiaľ máte zdroj kódu M, je to odtiaľ dosť jednoduché.

Opäť si vždy môžete pozrieť kurz Pokročilé transformácie údajov a modelovanieOnline, ak nemáte žiadne informácie o tom, ako fungujú kódy M.

Všetko najlepšie,

Melissa

***** Učíte sa LuckyTemplates? *****







Tabulky proporcí a četností v Excelu

Tabulky proporcí a četností v Excelu

Chtěli jsme se ponořit do tabulek četností v Excelu a také do tabulek proporcí. Podívejte se, co to je a kdy je použít.

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Zistite, ako stiahnuť a nainštalovať DAX Studio a Tabular Editor 3 a ako ich nakonfigurovať na použitie v LuckyTemplates a v Exceli.

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

Tento blog obsahuje vizualizáciu Shape Map pre priestorovú analýzu v LuckyTemplates. Ukážem vám, ako môžete efektívne využiť túto vizualizáciu s jej funkciami a prvkami.

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

V tomto návode predstavujem jedinečný nápad týkajúci sa finančného výkazníctva, ktorý spočíva v prideľovaní výsledkov na vopred určené šablóny tabuliek v rámci LuckyTemplates.

DAX měří v LuckyTemplates pomocí Measure Branching

DAX měří v LuckyTemplates pomocí Measure Branching

Vytvářejte míry DAX v LuckyTemplates pomocí existujících mír nebo vzorců. Tomu říkám technika větvení opatření.

Najvýkonnejšie volanie funkcie v LuckyTemplates

Najvýkonnejšie volanie funkcie v LuckyTemplates

V tomto blogu preskúmajte množinu údajov LuckyTemplates, najvýkonnejšie volanie funkcií, ktoré vám prináša tisíce funkcií M a DAX na dosah ruky.

Techniky modelovania údajov na organizáciu opatrení DAX

Techniky modelovania údajov na organizáciu opatrení DAX

V dnešnom návode sa podelím o niekoľko techník modelovania údajov o tom, ako lepšie usporiadať vaše merania DAX pre efektívnejší pracovný tok.

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates Financial Dashboard: Kompletné tipy na prispôsobenie tabuľky

LuckyTemplates je skvelý nástroj pre finančné výkazníctvo. Tu je návod, ako vytvoriť prispôsobené tabuľky pre váš finančný dashboard LuckyTemplates.

Osvedčené postupy toku jazyka Power Query

Osvedčené postupy toku jazyka Power Query

V tomto návode sa bude diskutovať o toku jazyka Power Query a o tom, ako môže pomôcť vytvoriť hladkú a efektívnu zostavu údajov.

LuckyTemplates vlastní ikony | Vizualizační technika PBI

LuckyTemplates vlastní ikony | Vizualizační technika PBI

Budu diskutovat o jedné z mých oblíbených technik kolem vlastních ikon LuckyTemplates, která používá vlastní ikony dynamickým způsobem ve vizuálech LuckyTemplates.