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ážu vám, jak udržovat vaši cvičnou datovou sadu aktualizovanou pokaždé, když provedete aktualizaci . Celé video tohoto tutoriálu si můžete prohlédnout ve spodní části tohoto blogu.
Pokud opravdu chcete zlepšit své dovednosti v jazyce DAX, způsob je použít jej a uvést jej do praxe. A k tomu budete potřebovat cvičnou datovou sadu, která vám pomůže vizualizovat možné scénáře ze skutečného života a pracovat na nich.
Problém s cvičnými datovými sadami je, že data jsou obvykle statická . Abyste mohli efektivně cvičit, musíte vyvolat dojem, že data jsou živá.
Obsah
Nastavení cesty k souboru pro cvičnou datovou sadu
Pro ukázková data mám soubor Excel obsahující data o prodeji z let 2014, 2015 a 2016.
Toto jsou data, která potřebuji aktualizovat.
Umístění dokumentu lze nalézt zde na mém panelu nástrojů Rychlý přístup.
Potřebuji to k nastavení parametru pro cestu k souboru. Takže zkopíruji umístění dokumentu.
Na pravé straně je přístupový bod k panelu nástrojů Rychlý přístup.
Jakmile to zmáčknu, objeví se tato obrazovka.
Půjdu tedy na Všechny příkazy a poté zvolím Umístění dokumentu . Přidejte to na panel nástrojů Rychlý přístup a stiskněte OK.
Teď půjdu dovytvořit parametr, který bude obsahovat cestu k mému souboru. Tento krok je důležitý, protože umožňuje obnovit všechny dotazy uvnitř modelu, pokud jiný uživatel změní umístění souboru.
Vytvořím tedy nový parametr .
Budu tomu říkat FileLocation .
Pod typem vyberu Text . A pro aktuální hodnotu vložím umístění dokumentu, které jsem zkopíroval dříve.
Vytvořím nový dotaz.
Poté si vyberu ukázková data, která budu používat jako svou cvičnou datovou sadu.
Objeví se zde řada různých tabulek, protože mám data o prodeji z let 2014, 2015 a 2016. Stačí si vybrat první, a to je Prodej_2014 .
Nyní, když jsem si vybral data Sales_2014, je čas změnit toto pevně zakódované umístění souboru na dynamické umístění souboru .
Přejdu do pokročilého editoru a vyberu vše, co souvisí s umístěním souboru .
Potom to změním na parametr FileLocation, který jsem vytvořil dříve.
Poté stisknu tlačítko Hotovo, aby se tyto změny uzamkly v dotazu Sales_2014.
Vytvoření složky pro přípravu dat
Když se podívám na Applied Steps pro dotaz Sales_2014, kliknu na krok Navigace . To mi ukazuje, že odkazuje na krok Zdroj .
Odkazuje také na Sales_2014 , který je zobrazen jako tabulka . Ukazuje také, že získává data ze sloupce Data.
Nyní se podívám na další krok Zdroj .
Krok Zdroj mi ukazuje vše, co se nachází v mém souboru Excel . Pokud zkontroluji tyto souřadnice, vidím Prodej_2014 a pod Druh je napsáno Tabulka .
Když vyhledám sloupec dat, zobrazí se objekt Tabulka , který byl extrahován.
Takže mohu duplikovat tento dotaz a získat data za rok 2015 . K tomu stačí kliknout pravým tlačítkem na Sales_2014 a vybrat Duplikovat.
Poté se vrátím zpět do kroku Navigace.
Ten rok změním z 2014 na 2015.
Také to zde přejmenuji v části Vlastnosti. Budu tomu říkat Prodej_2015.
Tentokrát budu duplikovat Sales_2015.
Poté se vrátím do kroku Navigace a změním rok na 2016.
Nyní mám kompletní údaje o prodeji. Ale tyto dotazy by neměly být načteny do mého modelu . Stačí kliknout pravým tlačítkem na každou z nich a zrušit výběr Povolit načítání .
Nyní vyberu všechny dotazy a umístím je do jedné složky, aby byly věci lépe organizované.
Tuto složku nazvu Data Prep .
Získání posunu dne
Ukázková data zde v části Příprava dat budou statická . To znamená, že 1. a poslední datum se nikdy nezmění .
Takže půjdu do Sales_2016 a seřadím sloupec Datum objednávky v sestupném pořadí , abych získal poslední datum z této datové sady .
Poslední datum v tomto souboru dat je 31. prosince 2016 .
Nyní vytvořím nový dotaz.
Poté zkontroluji, jaký je Denní posun od posledního data v sadě dat do dneška. To znamená, že musím zjistit, co je dnes. K tomu použiji funkci DateTime.FixedLocalNow . Tím získám datum a čas ze stroje, na kterém pracuji.
Ale tu časovou část opravdu nepotřebuji. Potřebuji pouze datovou část této hodnoty.
Takže budu extrahovat datum pomocí Date.From .
Potom od této hodnoty odečtem poslední datum v mé datové sadě . Protože jsou data statická, mohu použít hodnotu vnitřního data . To je tedy #datum a odkaz na 31. prosince 2016.
Nyní musím z tohoto rozdílu vytáhnout číslo . Takže přidám Number.From a uzavřem to závorkou. Poté stiskněte enter.
Přejmenuji to na DayOffset .
Nastavení dynamických období
Potřebuji také dynamická časová období pro mou tabulku dat. Začnu kliknutím pravým tlačítkem na složku Data Prep a vytvořením nového prázdného dotazu.
Poté budu pracovat s datem zahájení mé tabulky Datum.
Vždy chci jako datum zahájení 1. den v roce. Dám tedy rovnítko a použiji funkci Date.StartOfYear .
Protože tomu musím dát hodnotu, vyrovnám to pomocí Date.AddDays .
Poté znovu použiji hodnotu vnitřního data a použiji 1. datum v sadě dat , což je 1. června 2014.
Potřebuji také počet dní, které jsem vypočítal ve svém DayOffset , takže to přidám.
Jakmile stisknu enter, zobrazí se mi 1. ledna 2017 . Toto bude 1. rande v mé tabulce datumů.
Přejmenuji to na fxStartDate .
Nyní mohu nastavit datum ukončení. Zkopíruji tuto syntaxi, kterou jsem použil v mém počátečním datu.
Vytvořím nový prázdný dotaz.
Poté jej přejmenujte na fxEndDate .
Poté vložím syntaxi z mého Start Date .
Místo StartOfYear to změním na EndOfYear.
Také použiji poslední datum mého souboru dat , což je 31. prosince .
Když stisknu enter, vrátí se 31. prosince 2020 .
Vytvoření jedné prodejní tabulky
Sloučím tyto 3 tabulky do jedné prodejní tabulky . Abych to udělal, vytvořím nový dotaz.
Budu tomu říkat můj prodejní stůl.
Poté spojím Prodej_2014, Prodej_2015 a Prodej_2016 do jedné tabulky.
Vím, že to můžete udělat prostřednictvím pásu karet, ale existuje také možnost, jak to provést přímo na řádku vzorců. Vyberu si tu 2. možnost.
Začnu s Table.Combine .
Table.Combine vyžaduje seznam tabulek . Takže přidám inicializátor seznamu , což jsou ty složené závorky , pak pojmenuji 3 dotazy . Poté stiskněte enter.
Transformace sloupce Datum objednávky
Nyní, když mám většinu prvků, které potřebuji, vygeneruji klíčovou část syntaxe, kterou později použiji k dokončení své dynamické cvičné datové sady.
Začnu výběrem dvou číselných sloupců. Mohu použít index oblasti doručení a index popisu produktu . Na vašem konci můžete stisknutím klávesy Shift nebo Ctrl vybrat oba sloupce.
Na kartě Transformace vyberu Absolutní hodnota .
Pokud se podívám na řádek vzorců, zobrazí se funkce Table.TransformColumns . To je klíč ke konečnému řešení.
Funkce přebírá seznam transformačních seznamů . Jak vidíte, jsou zde 2 seznamy vnořené do sebe.
Odkazuje na název sloupce jako text. To je důvod, proč byl index Delivery Region Index zde uveden v 1. sadě.
Poté přidá krok transformace .
Totéž dělá v samostatném seznamu pro sloupec Product Description Index .
Teď zamířím do .
Nechci absolutní hodnoty . Takže první věc, kterou udělám, je kompenzovat své rande . K tomu vytvořím funkci s názvem fxUpdateDate . Bude používat aktuální datum, které napíšu jako cDate .
Poté znovu použiji funkci Date.AddDays , která také používá cDate . Použiji také DayOffset, který jsem vytvořil dříve.
Jediné, co fxUpdateDate dělá, je vzít datum. Takže když to předám funkci Table.TransformColumns , začne se kontrolovat každé zaznamenané datum.
Takže pokud pracuji například na 1. řadě zde, bude to považovat 1. červen 2014 za cDate.
A pokaždé, když se funkce zavolá, přidá ten DayOffset, který jsem vytvořil.
Nyní se krok Table.Transform zobrazí ve Vypočítané absolutní hodnotě .
Nejprve to přejmenuji a nazvu to UpdateOrderDate.
Tento krok UpdateOrderDate zahrnuje můj Table.TransformColumns, který se rovná zdroji.
První uvedená tabulka je index oblasti doručení . Ale není třeba to přetvářet. Takže změním první sloupec odkazovaný na sloupec Datum objednávky .
Také se zde píše, že transformace bude v absolutních hodnotách.
Protože to nechci, změním to na fxUpdateDate .
Typ také nebude absolutní hodnotou, takže také musím změnit tuto část.
Změním to na rande .
Potřebuji pouze jednu transformaci, takže smažu 2. seznam spolu s krokem transformace, který je součástí této sady…
…takže je to jen jedna transformace pro sloupec Datum objednávky.
Protože jsem krok přejmenoval na Vypočítanou absolutní hodnotu, musím to změnit i ve svém výpisu.
Nyní zobrazuje také UpdateOrderDate .
Takže sloupec OrderDate bude nyní volat tuto funkci pro každý záznam v Table.TransformColumns .
Když se podívám do sloupce Datum objednávky, vidím, že byl aktualizován.
A když to seřadím sestupně, zobrazí se jako aktuální datum 7. července 2020 .
Takže tento krok řazení odstraním, protože to opravdu nepotřebuji. Udělal jsem to jen proto, abych zkontroloval, zda bylo aktualizováno i aktuální datum.
Aplikace Time Intelligence pomocí M kódu
My model is all about Sales data. Since I’m going to do some time intelligence, I would need a Date table.
So I’ll go to the . In the M-code Showcase, I’m going into the Extended Date Table topic.
Scroll up to the very top of the page and copy the entire code.
Going back into my model, I’m going to create a new blank query and paste that M code in. Press Done.
I’ll rename that query into fxCalendar.
For my parameters, I’ll use the 1st of January for the StartDate and the 31st of January for the EndDate. Then press Invoke.
Once the table comes up, I’m going to rename it as Dates.
Remember that I already created the start and end dates by looking at the 1st date on the sample dataset and offsetting that by my DayOffset. So the fxStartDate here shows up as January 1st, 2017.
As for the fxEndDate, it returns the 31st of December, 2020.
I can go back to the Dates table and update that Source step there as well.
It lists the parameters in the order that they were called. The first parameter should show the start date.
I’m going to change that into fxStartDate.
I’m also going to replace the second parameter.
I’ll put in the fxEndDate.
Once I press Enter, the transformation is complete. I now have a fully up-to-date practice dataset that will always remain current.
I’ll just click on Close & Apply to lock all of those steps in.
Conclusion
As I mentioned earlier, having your own dynamic practice dataset will definitely level up your game when it comes to LuckyTemplates. It allows you to practice your skills and knowledge while pretending that you’re working on a real-life scenario.
If you want to learn more about making your start and end dates dynamic especially for a practice dataset you’re using, you can check out the LuckyTemplates Forum. There are a lot of conversations there about this as well as other relevant topics. You may even find other approaches that would work for you.
Vše nejlepší,
Melissa
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.