LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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ší.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

Poté můžeme projektu poskytnout jakýkoli název. Zavolám to SortBy a kliknu na Vytvořit.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

Čí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.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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í.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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 .

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

Pokud stisknu F5, můžete vidět, že máme přístup ke sloupcům.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#

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.

LuckyTemplates a SSAS – řazení sloupců pomocí TE3 a C#




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ářů.


Vyhledávací pole PowerApps: Jak přidat a přizpůsobit

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.

Příklad SELECTEDVALUE DAX – Výběr kráječe sklizně

Příklad SELECTEDVALUE DAX – Výběr kráječe sklizně

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.

Historie verzí v seznamech SharePoint

Historie verzí v seznamech SharePoint

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.

Výběr barevných hexadecimálních kódů pro zprávy LuckyTemplates

Výběr barevných hexadecimálních kódů pro zprávy LuckyTemplates

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.

Dynamický datový výřez v LuckyTemplates pomocí tabulky období

Dynamický datový výřez v LuckyTemplates pomocí tabulky období

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.

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í.