Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion
Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.
Til dagens vejledning vil jeg vise, hvordan du kan automatisere processen med at sortere en kolonne efter en anden kolonne inde i LuckyTemplates og SSAS- eller SQL-serveranalysetjenester. Du kan se den fulde video af denne tutorial nederst på denne blog.
I dette eksempel har vi Datoer-tabellen med flere kolonner. Nogle kolonner er heltalsdelen, som vi skal skjule; og nogle kolonner er strengdelen, som vi vil vise til slutbrugeren.
Så vi har kolonnerne Kalenderår, Kalenderår Måned og Måned. Det, vi ønsker at gøre, er at automatisere sorteringen af disse tre kolonner efter deres heltal. Jeg sorterer kalenderåret efter kalenderårsnummeret, kalenderårets måned efter kalenderårets månedsnummer samt måneden efter månedsnummeret.
Men det vil vi ikke gøre én efter én. Vi kører et script, der automatisk sorterer det for denne særlige tabel. Hvis du har flere kolonner til flere tabeller, kan du bruge det script på disse sæt tabeller.
Vi skal brugefor at skrive den C#-kode, men i øjeblikket har Tabular Editor ikke en IntelliSense til C#-sproget. For at gøre det nemmere vil vi bruge Visual Studio (VS), hvor vi har IntelliSense for C#-sproget, og du kan også bruge VS-kode.
Indholdsfortegnelse
Sortering af kolonner i LuckyTemplates og SSAS ved hjælp af C#
Først skal vi oprette et nyt projekt inde i Visual Studio, som vil være Console-appen (.Net Framework) til C#-sproget. Lad os vælge det klik på Næste.
Så kan vi give et hvilket som helst navn til projektet. Jeg vil kalde dette SortBy og klikke på Opret.
Nu kan du se, at vi har koden. Når koden virker, kopierer og indsætter vi den i Tabular Editor.
Men for at koden skal fungere inde i Visual Studio, skal vi angive en reference til et bibliotek. Og for det kan vi blot klikke på referencerne og vælge muligheden for Administrer NuGet-pakker i browserindstillingen.
Inde i gennemse-indstillingen skal vi skrive. Og så, i de tilgængelige muligheder, skal vi vælge den anden og klikke på Installer. Det starter installationen, og det vil tage et par sekunder, før installationen er fuldført.
Dernæst skal vi skrive i koden ved hjælp af Microsoft.AnalysisServices.Tabular og derefter skrive et semikolon. Vi skal lave et serverobjekt, så vi kan simpelthen skrive Server , og navnet på serverobjektet vil være Server selv, og vi skal skrive New Server .
Så dybest set skaber vi et nyt objekt inde i hukommelsen. Og for at forbinde den server til LuckyTemplates-filen, skal vi bruge en metode til serverobjektet. Så lad os skrive server.Connect , og her giver vi portnummeret, som AnalysisServices inde i LuckyTemplates lytter til.
For at finde det portnummer, går vi til Eksterne værktøjer, klikker på , og i den nederste del finder vi den lokale vært. Det er det kodenummer, som SQL-serveranalysetjenester, som vi har inde i LuckyTemplates, lytter til de ændringer, som vi sender gennem LuckyTemplates eller ethvert andet eksternt værktøj.
Serveren er én ting, men en server kan også have flere modeller i tilfælde af SSAS. Men lige nu, i LuckyTemplates, har vi kun én model. Så vi vil erklære den model. Vi skriver her Model er lig med (=) server.Databaser , og vi får adgang til den allerførste database inde i den server, så vi skriver .Model .
Lad os nu teste, om den del af koden virker eller ej. For at gøre det udskriver vi blot listen over alle tabeller, som vi har inde i den datamodel. Så vi indtaster her for hver (Tabel t i model.Tables) , åbner parentes og trykker enter.
Derefter skriver vi Console.WriteLine (t.Name) . For at sikre, at vinduet ikke automatisk lukker, når det udskriver tabellernes navn, skriver vi Console.ReadLine , åbner og lukker parenteser og et semikolon. Nu skal vi bare klikke på Start- indstillingen og vente på, at den udføres.
Du kan se, at vi er i stand til at udskrive navnet på de tabeller, som vi har inde i datamodellen. Vi har datoer, produkt, kunde og butik. Det bekræfter, at den opsætning, vi har oprettet, fungerer.
Så nu kan vi faktisk komme ind i kodens kød og begynde at skabe koden, der vil hjælpe os med at sortere den kolonne efter heltalsmodstykket.
Lad os slippe af med alt det, vi har skabt fra ForEach- delen. Vi vil beholde serveren og modellen som den er. Lad os erklære en variabel, der vil indeholde navnet på den tabel, som vi ønsker at iterere på. Jeg vil navngive det som DatesTable , og navnet på tabellen vil grundlæggende være Dates .
Dernæst har vi foreach var t i model.Tables , så skal vi bruge en where -sætning, så vi kan sige, hvor T går til t.Name skal være lig med DatesTable . Hvis vi i øjeblikket itererer på DatesTable, vil vi starte en anden løkke over alle kolonnerne i den DatesTable. Så til det kan vi skrive for hver var c i t.Columns .
For at teste, om vi kun itererer over DatesTable, og vi har adgang til alle kolonnerne i DatesTable, kan vi blot udskrive Console.WriteLine , og vi vil sige c.Name .
Hvis jeg trykker på F5, kan du se, at vi får adgang til kolonnerne.
Nu kan vi gå videre og skrive mere kode.
Vi vil oprette en liste over tuples, der vil indeholde tre kolonner mere. En af kolonnerne vil være målkolonnen. Den anden kolonne vil være den kolonne, som vi vil sortere målkolonnen igennem, og den tredje kolonne vil blot holde sand eller falsk, uanset om vi vil skjule den kolonne, som vi faktisk sorterer igennem.
Lad os sige, at vi vil sortere kolonnen Kalenderår efter kalenderårsnummeret. Den første kolonne vil indeholde kalenderåret, den anden kolonne vil være for kalenderårsnummeret, og den tredje kolonne vil afgøre, om vi vil skjule kolonnen kalenderårnummer efter at vi har afsluttet sorteringen eller ej.
Og for det, lad os gå tilbage til Visual Studio, hvor vi skal lave en ny variabel. Du kan navngive det, hvad du vil. I dette eksempel vil jeg kalde det colOperations . Dernæst skal vi skrive new , og så skal vi lave en liste, og vi skriver typen af kolonner (streng, streng og bool). Derefter skaber vi tuplerne.
Så grundlæggende opretter vi simpelthen en liste med tre kolonner, og for tre kolonner har vi leveret to rækker. Nu inde i vores foreach loop, vil vi starte en for loop . Så dybest set er det, vi siger, at erklære en variabel, der starter med i i hver iteration. Hvis i er mindre end colOperations.Count, skal du blot øge det .
Dernæst skal vi skrive en IF- sætning. c.Navnet hører til navnet på den kolonne, som vi er i. Så har vi colOperations i . I'et giver os grundlæggende adgang til en bestemt række. Og når vi skriver .Item1 , er vi i stand til at få adgang til den første kolonne, anden kolonne eller tredje kolonne.
Så først skal vi bruge kolonnen Item1 . Hvis det er sandt, skriver vi blot, at c.SortByColumn skal være lig med t.Columns . Husk at t er tabelobjektet. Derefter får vi adgang til kolonnerne fra den pågældende tabel. Vi vil have colOperations , den række, som vi i øjeblikket er i kolonneoperationerne, og kolonnen er dybest set Item2 -objektet.
Til sidst, for at skjule den særlige kolonne, hvorigennem vi anvender sorteringen, skriver vi en sidste kodelinje.
Så nu, hvor vi har skrevet hovedkoden, som vi skal udføre mod vores tabelmodel, kan vi blot kopiere koden fra var colOperations og tage den til Tabular Editor, og så skal vi udføre den samme kode.
Sortering af kolonner i LuckyTemplates og SSAS ved hjælp af tabeleditor
Vi kommer ikke til at bruge serveren eller modelobjektet, for bag scenen vil Tabular Editor automatisk vide, hvilken LuckyTemplates-model eller analyseservicemodel den skal oprette forbindelse til. Så vi behøver ikke bruge disse variabler, fordi det allerede er opgaven for den at identificere, hvordan den ønsker at forbinde til disse modeller.
Tilbage i LuckyTemplates vil vi lancere enten Tabular Editor 3 eller Tabular Editor 2. Du kan bruge hvilken du vil. I dette tilfælde, lad os gå med Tabular Editor 3.
Vi går til fanen Filer, klikker på Ny C#-kode og lukker indstillingen Egenskaber. Så kan vi indsætte koden her. Det eneste, vi skal sikre os, er, at i stedet for at bruge modelvariablen er at bruge modelobjektet . Så lad os bruge den store M og udføre den kode.
Nu hvor scriptet er blevet eksekveret med succes, og det også siger viser tre modelændringer, vil vi forpligte ændringerne tilbage til datamodellen. Vi gemmer det, vi har anvendt på disse kolonner.
Tilbage i LuckyTemplates kan du se, at månedsnummeret er skjult. Hvis jeg klikker på kolonnen Måned og går til kolonneværktøjer og til kolonnen Sorter efter , kan du se, at den pågældende kolonne er blevet sorteret efter månedsnummer. Det samme gælder med kalenderårets månedsnummer.
Kalenderåret er sorteret af sig selv, fordi vi ikke havde den kolonne inde i den C#-kode. Så hvad vi kan gøre er at starte tabeleditoren tilbage og oprette en anden tuple. Og så udfører vi igen det script.
Konklusion
Så let er det at automatisere processen med at sortere en kolonne efter en anden kolonne iog SSAS. Dette var et meget grundlæggende eksempel på, hvordan du kan udføre den handling inde i tabellen Datoer. Men du kan berige denne liste ved at tilføje flere kolonner og derefter søge efter en anden tabel.
På den måde kan du reducere den tid, du skal bruge på at sortere disse kolonner for de samme modeller, som du vil oprette igen og igen.
Jeg håber, du har fundet dette nyttigt. Hvis du har spørgsmål, så lad mig det vide i kommentarfeltet.
Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.
Find ud af, hvorfor det er vigtigt at have en dedikeret datotabel i LuckyTemplates, og lær den hurtigste og mest effektive måde at gøre det på.
Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.
I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.
Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.
Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.
I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.
I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.
I denne blog vil du lære, hvordan du bruger LuckyTemplates rangerings- og brugerdefinerede grupperingsfunktioner til at segmentere et eksempeldata og rangordne det efter kriterier.
I denne tutorial vil jeg dække en specifik teknik omkring, hvordan du kun viser Kumulativ Total op til en bestemt dato i dine visuals i LuckyTemplates.