Vyhledávací pole PowerApps: Jak přidat a přizpůsobit
Naučte se, jak vytvořit vyhledávací pole PowerApps úplně od začátku a přizpůsobit je tak, aby odpovídalo celkovému tématu vaší aplikace.
V dnešním tutoriálu ukážu, jak můžete automatizovat proces řazení jednoho sloupce podle jiného sloupce uvnitř LuckyTemplates a analytických služeb SSAS nebo SQL serveru. Celé video tohoto tutoriálu si můžete prohlédnout ve spodní části tohoto blogu.
V tomto příkladu máme tabulku Data s několika sloupci. Některé sloupce jsou celočíselnou částí, kterou skryjeme; a některé sloupce jsou částí řetězce, kterou ukážeme koncovému uživateli.
Máme tedy sloupce Kalendářní rok, Měsíc kalendářního roku a Měsíc. Co chceme udělat, je automatizovat řazení těchto tří sloupců podle jejich celočíselné části. Seřadím kalendářní rok podle čísla kalendářního roku, měsíc kalendářního roku podle čísla měsíce kalendářního roku a také měsíc podle čísla měsíce.
Ale nebudeme to dělat jeden po druhém. Spustíme skript, který to automaticky seřadí pro tuto konkrétní tabulku. V případě, že máte více sloupců pro více tabulek, můžete tento skript použít na tyto sady tabulek.
Budeme používatpro psaní tohoto kódu C#, ale zatím Tabular Editor nemá IntelliSense pro jazyk C#. Pro usnadnění použijeme Visual Studio (VS), kde máme IntelliSense pro jazyk C# a můžete použít i VS kód.
Obsah
Řazení sloupců v LuckyTemplates a SSAS pomocí C#
Nejprve musíme vytvořit nový projekt ve Visual Studiu, což bude Console App (.Net Framework) pro jazyk C#. Vyberme to kliknutím na Další.
Poté můžeme projektu poskytnout jakýkoli název. Zavolám to SortBy a kliknu na Vytvořit.
Nyní můžete vidět, že máme kód. Jakmile kód funguje, jednoduše jej zkopírujeme a vložíme do Tabular Editoru.
Aby však kód fungoval uvnitř sady Visual Studio, musíme nastavit odkaz na knihovnu. A za to můžeme jednoduše kliknout na Reference a vybrat možnost Spravovat balíčky NuGet uvnitř možnosti prohlížeče.
Uvnitř možnosti procházení musíme psát. A pak v možnostech, které jsou k dispozici, musíme vybrat tu druhou a kliknout na Instalovat. Zahájí se instalace a její dokončení bude trvat několik sekund.
Dále musíme do kódu napsat Using Microsoft.AnalysisServices.Tabular a pak napsat středník. Chystáme se vytvořit objekt serveru, takže můžeme jednoduše napsat Server a název objektu serveru bude samotný Server a napíšeme Nový server .
Takže v podstatě vytváříme nový objekt uvnitř paměti. A k připojení tohoto serveru k souboru LuckyTemplates použijeme metodu objektu serveru. Napíšeme tedy server.Connect a zde poskytneme číslo portu, na kterém naslouchá AnalysisServices uvnitř LuckyTemplates.
Číslo portu zjistíme tak, že přejdeme do Externích nástrojů, klikneme na a ve spodní části najdeme místního hostitele. To je kódové číslo, na kterém služby analýzy serveru SQL, které máme uvnitř LuckyTemplates, naslouchají změnám, které posíláme prostřednictvím LuckyTemplates nebo jakéhokoli jiného externího nástroje.
Server je jedna věc, ale server může mít i více modelů v případě SSAS. Ale právě teď, v LuckyTemplates, máme jen jeden model. Takže tento model prohlásíme. Napíšeme zde Model se rovná (=) server.Databases a přistoupíme k úplně první databázi uvnitř tohoto serveru, takže napíšeme .Model .
Nyní otestujeme, zda tato část kódu funguje nebo ne. Za tímto účelem jednoduše vytiskneme seznam všech tabulek, které máme v datovém modelu. Takže zde pro každý (Tabulka t v modelu.Tabulky) zadáme závorku a stiskneme enter.
Poté napíšeme Console.WriteLine (t.Name) . Abychom se ujistili, že se okno po vytištění názvů tabulek automaticky nezavře, napíšeme Console.ReadLine , otevírací a zavírací závorku a středník. Nyní vše, co musíme udělat, je kliknout na možnost Start a počkat, až se spustí.
Vidíte, že jsme schopni vytisknout názvy tabulek, které máme uvnitř datového modelu. Máme data, produkt, zákazníka a obchod. To potvrzuje, že nastavení, které jsme vytvořili, funguje.
Nyní se tedy můžeme skutečně dostat do jádra kódu a začít vytvářet kód, který nám pomůže seřadit tento sloupec podle celočíselného protějšku.
Zbavme se všeho, co jsme vytvořili z části ForEach . Server a model ponecháme tak, jak jsou. Pojďme deklarovat proměnnou, která bude obsahovat název tabulky, na které chceme iterovat. Pojmenuji to jako DatesTable a název tabulky bude v podstatě Dates .
Dále budeme mít foreach var t v model.Tables , pak použijeme klauzuli where , takže můžeme říci, kde T jde do t.Name by se mělo rovnat DatesTable . Pokud aktuálně iterujeme na DatesTable, zahájíme další smyčku přes všechny sloupce této DatesTable. Takže za to můžeme napsat foreach var c v t.Columns .
Abychom otestovali, zda iterujeme pouze přes DatesTable a máme přístup ke všem sloupcům DatesTable, můžeme jednoduše vytisknout Console.WriteLine a řekneme c.Name .
Pokud stisknu F5, můžete vidět, že máme přístup ke sloupcům.
Nyní můžeme pokračovat dále a psát další kód.
Vytvoříme seznam n-tic, který bude obsahovat o tři sloupce více. Jeden ze sloupců bude cílový. Druhý sloupec bude sloupec, přes který chceme třídit cílový sloupec a třetí sloupec bude jednoduše obsahovat true nebo false, ať už chceme skrýt sloupec, přes který vlastně třídíme.
Řekněme, že chceme seřadit sloupec kalendářního roku podle čísla kalendářního roku. První sloupec bude obsahovat Kalendářní rok, druhý sloupec bude pro Číslo kalendářního roku a třetí sloupec rozhodne, zda chceme sloupec Číslo kalendářního roku po dokončení třídění skrýt či nikoli.
A kvůli tomu se vraťme do Visual Studia, kde se chystáme vytvořit novou proměnnou. Můžete si to pojmenovat, jak chcete. V tomto příkladu to nazvu colOperations . Dále napíšeme new a poté vytvoříme seznam a napíšeme typ sloupců (string, string a bool). Poté vytvoříme n-tice.
V zásadě tedy jednoduše vytváříme seznam tří sloupců a pro tři sloupce jsme poskytli dva řádky. Nyní uvnitř naší smyčky foreach spustíme smyčku for . V zásadě tedy říkáme, že deklarujeme proměnnou začínající na i v každé iteraci. Pokud je i menší než colOperations.Count, pak jednoduše zvyšte hodnotu .
Dále napíšeme příkaz IF . Jméno c.Name patří k názvu sloupce, ve kterém se právě nacházíme. Pak máme colOperations i . I nám v podstatě umožňuje přístup k jednomu konkrétnímu řádku. A když napíšeme .Item1 , máme přístup k prvnímu sloupci, druhému sloupci nebo třetímu sloupci.
Nejprve tedy použijeme sloupec Položka1 . Pokud je to pravda, jednoduše napíšeme c.SortByColumn by se mělo rovnat t.Columns . Pamatujte, že t je objekt tabulky. Poté přistupujeme ke sloupcům z této konkrétní tabulky. Chceme colOperations , řádek, na kterém se aktuálně nacházíme ve sloupcových operacích, a sloupec je v podstatě objekt Item2 .
Nakonec, abychom skryli konkrétní sloupec, jehož prostřednictvím aplikujeme řazení, napíšeme poslední řádek kódu.
Takže teď, když jsme napsali hlavní kód, který se chystáme spustit proti našemu tabulkovému modelu, můžeme jednoduše zkopírovat kód z var colOperations a přenést ho do Tabular Editoru a pak spustíme stejný kód.
Řazení sloupců v LuckyTemplates a SSAS pomocí tabulkového editoru
Nepoužijeme server ani objekt modelu, protože editor tabulek v pozadí bude automaticky vědět, ke kterému modelu LuckyTemplates nebo k modelu analytických služeb se má připojit. Takže tyto proměnné nemusíme používat, protože to je již úkolem organizace zjistit, jak se chce k těmto modelům připojit.
Zpět v LuckyTemplates spustíme buď Tabular Editor 3 nebo Tabular Editor 2. Můžete použít, který chcete. V tomto případě pojďme s Tabular Editor 3.
Přejdeme na kartu Soubor, klikneme na Nový kód C# a zavřeme možnost Vlastnosti. Pak sem můžeme vložit kód. Jediná věc, kterou se musíme ujistit, je, že místo použití proměnné modelu je použití objektu modelu . Použijme tedy velké M a spusťme tento kód.
Nyní, když byl skript úspěšně proveden a také ukazuje tři změny modelu, provedeme změny zpět do datového modelu. Uložíme vše, co jsme na tyto sloupce použili.
Zpět v LuckyTemplates můžete vidět, že číslo měsíce je skryté. Pokud kliknu na sloupec Měsíc a přejdu na Nástroje sloupců a na Seřadit podle sloupce , uvidíte, že konkrétní sloupec byl seřazen podle čísla měsíce. Totéž platí s číslem měsíce kalendářního roku.
Kalendářní rok je řazen sám o sobě, protože jsme tento sloupec neměli v kódu C#. Takže, co můžeme udělat, je spustit zpět Tabular Editor a vytvořit další n-tici. A pak znovu spustíme tento skript.
Závěr
Takto snadné je automatizovat proces řazení jednoho sloupce podle jiného sloupcea SSAS. Toto byl velmi základní příklad toho, jak můžete provést tuto operaci v tabulce Dates. Tento seznam však můžete obohatit přidáním dalších sloupců a poté vyhledat další tabulku.
Tímto způsobem můžete snížit množství času, které musíte strávit řazením těchto sloupců pro stejné modely, které budete znovu a znovu vytvářet.
Doufám, že vám to pomohlo. Pokud máte nějaké dotazy, dejte mi vědět v sekci komentářů.
Naučte se, jak vytvořit vyhledávací pole PowerApps úplně od začátku a přizpůsobit je tak, aby odpovídalo celkovému tématu vaší aplikace.
Sklízejte nebo zachycujte hodnotu uvnitř míry a znovu ji použijte v jiném taktu pro dynamické výpočty pomocí SELECTEDVALUE DAX v LuckyTemplates.
Zjistěte, jak vám historie verzí na SharePointu může pomoci vidět vývoj určitých dat a kolika změn prošla.
Zde je nástroj pro vytváření sestav a vizuálů, výběr barevných hexadecimálních kódů, který můžete použít ke snadnému získání barev pro vaše sestavy LuckyTemplates.
Pomocí tabulky období můžete v přehledu snadno zobrazit časové období jako průřez. Použijte M kód k vytvoření dynamického datového výřezu v LuckyTemplates.
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.
Zistite, ako stiahnuť a nainštalovať DAX Studio a Tabular Editor 3 a ako ich nakonfigurovať na použitie v LuckyTemplates a v Exceli.
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.
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.
Vytvářejte míry DAX v LuckyTemplates pomocí existujících mír nebo vzorců. Tomu říkám technika větvení opatření.