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 selvstudie skal vi bygge en LuckyTemplates brugerdefineret forespørgselsfunktion, der skal håndtere et almindeligt vanskeligt at håndtere format af stablede data. Denne teknik kan nemt genbruges på flere rapporter og flere tabeller. Du kan se den fulde video af denne tutorial nederst på denne blog.
Dette er en fortsættelse af den tutorial, jeg lavede for nylig, hvor vi beskæftigede os med et almindeligt vanskeligt at håndtere format af stablede data og brugte Modulo, Pivot og nogle rensefunktioner med Power Query til at transformere disse data til et organiseret og funktionelt format.
Det er meget sandsynligt, at du bliver nødt til at gentage denne proces. Hvis denne type format stammer fra en kopi og indsæt, vil det sandsynligvis ske igen. Så i dette tilfælde vil du sandsynligvis bygge en brugerdefineret funktion, der vil kunne genbruges på flere rapporter og flere tabeller, uanset hvordan de hedder, og hvad der ellers er i disse tabeller.
Indholdsfortegnelse
Sådan oprettes og fejlsøges LuckyTemplates brugerdefinerede forespørgselsfunktioner
Lad os springe ind i Power Query om dette. Hvis vi går til vores datatabel, i den avancerede editor, har vi M-koden for, hvordan vi endte med at gå fra de stakdata til det ønskede format.
Hvis vi vil genbruge dette, højreklikker vi bare på Data og siger, Opret funktion .
Den siger, at den ikke vil referere til nogen parameter, men det er okay at oprette en funktion uden parametre. Vi vil svare, ja, fordi vi vil tilføje parametrene, mens vi går i den avancerede editor. Vi kalder denne funktion, Unstack – 3 Elements , bare fordi vi har de tre rækker i råformatet. Hvis vi havde et format med to rækker, ville vi sandsynligvis bygge et separat, der var to eller fire elementer.
Så nu har vi denne Invoke, vi har ingen parametre, og lad os gå til Advanced Editor og begynde at arbejde på denne.
For det første har vi ikke brug for denne Kilde. Vi skal bruge funktionsparametrene til at definere vores kilde.
Vi ønsker at definere den parameter, der kommer ind. Vi gør det med en åben parentes og derefter et parameternavn. Lad os kalde dette, Stack , som vil være den ene kolonne med data, der er de uformaterede stakdata, der kom ind fra indsættelsen af e-mail-adresserne.
Vi ønsker, at dette skal komme ind som en liste, og vi ønsker, at det skal resultere i en tabel, fordi når vi deaktiverer den fra den enkelte kolonne til flere kolonner, går den fra en liste til en tabel. Og nu skal vi konvertere den indgående liste til en tabel, så vi kan tilføje vores indeks, starte vores Modulo unpivot og gøre alle de ting, vi skal gøre for at omformatere det.
Vi kalder det ConvertStack , og det kommer til at bruge en funktion kaldet Table.FromList . Ligesom mange af M-funktionerne gør den præcis, hvad den siger. Det kræver bare en liste. I dette tilfælde vil listen være vores stakliste. Og så skal vi erstatte kilden her med vores ConvertStack. Det ser ret godt ud! Vi har ingen syntaksfejl, så lad os trykke på Udført.
Nu giver det os det, vi ønskede, som er muligheden for at vælge en kolonne.
Derefter skal vi vælge TestData, som er de forkert formaterede data. Vi vælger kolonnen Værdi og klikker derefter på OK. Derefter klikker vi på Invoke.
Vi får dog denne fejl. Det er virkelig svært at finde ud af, hvad denne fejl er. Et af problemerne med brugerdefinerede funktioner er, at de ikke bryder de anvendte trin ud, du får bare et trin for hele den tilpassede funktion. Men der er en vej uden om det i fejlsøgningen, som jeg vil vise dig. Det vil gøre det meget nemmere at finde ud af, hvad der foregår her.
I stedet for at køre dette for øjeblikket som en funktion, vil vi køre det som en forespørgsel. Vi vil bare starte det Stack-opkald manuelt. Vi er nødt til at definere, hvad Stack er, fordi vi ikke tegner det gennem interaktionen med at vælge det i Invoke. Så vi har Stack lig med TestData og værdikolonnen i TestData.
Hvad det gør, er, at det opdeler det nu i de anvendte trin. Dette vil hjælpe os med at finde ud af, hvorfor dette ikke virker. Læg mærke til en interessant ting, når vi trækker Stack ind. Til at begynde med trækker den TestData[Værdi], men når vi konverterer den til en tabel, i stedet for Value er kolonneoverskriften, er kolonneoverskriften nu Kolonne1.
Husk fejlmeddelelsen, det var, at den ikke kunne finde kolonnen Værdi. Grunden til, at den ikke kunne finde kolonnen Værdi, er, at funktionen Table.FromList omdøber den til Kolonne1.
Hvis vi går ned i Applied Steps, kan du se, at det er i Added Custom-trinnet, hvor vi får fejlen. Det er her, værdien af posten ikke blev fundet.
Og så, hvis vi går til den avancerede editor, finder vi det tilpassede felt, og vi kan se, at det er i Text.Remove, hvor vi fjerner de uønskede tegn, som vi ikke havde brug for, men det henviser stadig til feltet Værdi. Vi ændrer det til kolonne 1. Ligeledes refererer det til Værdi i feltet Fjernede kolonner, så vi ændrer det også til Kolonne1.
Og når vi kommer til slutningen af Applied Steps, giver det det perfekte slutresultat.
Nu hvor vi ved, at det fungerer rigtigt, har vi bare en ting mere at gøre. Husk, at for at debugge det, gjorde vi den brugerdefinerede funktion til en forespørgsel. Og så nu skal vi tage den forespørgsel og gøre den tilbage til en funktion.
Konklusion
I denne tutorial har vi bygget denne brugerdefinerede funktion, fejlrettet den, testet den, og den fungerer godt. Og så nu, hver gang vi har en tre-elements stak, kan vi bare vælge den tabel, vælge den kolonne i tabellen og køre den brugerdefinerede funktion. Anvend derefter Modulo, unpivot, og ryd op.
Dette burde give dig nogle gode værktøjer i forhold til at skabe brugerdefinerede funktioner. Husk også det trick om fejlretning ved at vende det tilbage til en forespørgsel fra en funktion og derefter skifte det tilbage efter fejlretningen. Det er et virkelig værdifuldt værktøj, der gør det meget nemmere at fejlfinde brugerdefinerede funktioner.
Alt det bedste!
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.