Vytvoření tabulky data v LuckyTemplates
Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.
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.
Funkciu M som získal z kategórie M Code Showcase vo fóre LuckyTemplates . Kód je pod témou.
Ak otvorím rozšírený editor , toto je kód.
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 .
Pomenujem tento testovací dotaz .
Ďalej otvorím Rozšírený editor .
Pretože sa chystám vytvoriť funkciu, pridám pár zátvoriek a vymažem tam všetok predvolený kód.
Ak chcete spustiť funkciu, deklarujem voliteľný parameter .
Ď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 .
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 .
Pod klauzulou let potrebujem názov premennej. Takže túto premennú nazvem WDStart .
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 .
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.
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“.
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.
Takže to vymažem a nechám miesto prázdne.
Keď kliknem na Vyvolať, vráti hodnotu 0.
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.
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“.
Teraz sa pokúsim prekonať rok 2020 v TestQuery. Keď stlačím enter, vráti sa aj rok 2020.
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.
Keď stlačím enter, zobrazí sa mi dokumentácia k tejto funkcii.
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.
Namiesto testovania, či sa hodnota nerovná null, použijem List.Contains .
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.
Pre druhý parameter použijem WDStartNum. Potom pridám zátvorku.
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).
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 .
Potom vstúpim do dotazu na tabuľku dátumov.
Pôvodnú funkciu M otvorím cez Rozšírený editor .
Potom tam vložím svoj kód. Uistite sa, že na konci riadku je čiarka.
Ďalej zvýrazním a skopírujem názov môjho parametra .
Potom sem pridám tento parameter .
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.
Potom pridám + WDStart .
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.
Ako počiatočný mesiac Fiškálneho roka použijem „7“, potom uvediem „0“ ako WDStartNum.
Kliknem na Vyvolať. Teraz mám tabuľku dátumov.
Premenujem ho, aby sa dal ľahko identifikovať.
Teraz skontrolujem výsledky.
Toto je môj stĺpček DayOfWeek .
Ukazuje, že pondelok sa vrátil ako 0.
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í.
Keď stlačím enter, pondelok bude teraz deň 1 namiesto dňa 0.
Pri pohľade na číselný rozsah sa teraz pohybuje od 1 do 7 namiesto 0 až 6.
Čo sa stane, ak miniem nulovú hodnotu?
Potom sa DayOfWeek pre pondelok vráti späť na 0.
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? *****
Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.
Tento stručný návod zdůrazňuje funkci mobilního hlášení LuckyTemplates. Ukážu vám, jak můžete efektivně vytvářet přehledy pro mobily.
V této ukázce LuckyTemplates si projdeme sestavy ukazující profesionální analýzy služeb od firmy, která má více smluv a zákaznických vztahů.
Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.
Objavte niektoré bežné funkcie SQL, ktoré môžeme použiť, ako napríklad reťazec, dátum a niektoré pokročilé funkcie na spracovanie alebo manipuláciu s údajmi.
V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.
V tomto blogu si ukážeme, jak vrstvit parametry pole s malými násobky, abychom vytvořili neuvěřitelně užitečné přehledy a vizuály.
V tomto blogu se dozvíte, jak používat funkce hodnocení LuckyTemplates a vlastní seskupování k segmentaci ukázkových dat a jejich seřazení podle kritérií.
V tomto tutoriálu se budu zabývat konkrétní technikou, jak zobrazit kumulativní součet pouze do určitého data ve vašich vizuálech v LuckyTemplates.
Naučte se vytvářet a přizpůsobovat Bullet grafy v LuckyTemplates, které se používají hlavně pro měření výkonu oproti cílovým nebo předchozím rokům.