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.
I denne tutorial vil vi undersøge et interessant spørgsmål, der blev rejst påom, hvordan man dynamisk flette et skiftende antal kolonner i en Power Query-tabel. Du kan se den fulde video af denne tutorial nederst på denne blog.
Dette scenarie omhandler eksport af rådata, der får data til at spredes ind i et ukendt antal tilstødende kolonner. Når du ser på eksemplet, kan du se, at beskrivelsen er væltet over i kolonne 4, og beskrivelse 2 er blevet delt over to tilstødende kolonner. Men det vil ikke altid være tilfældet. I den næste cyklus kan dette antal kolonner ændre sig.
Før vi hopper ind i løsningen, lad os undersøge M-koden, som Power Query genererer, når du flette kolonner.
Indholdsfortegnelse
Power Query Tabel M-kode
Der er et par måder at flette kolonner på. Den ene er at vælge både beskrivelseskolonnen og trykke på enten shift-tasten eller kontroltasten og derefter vælge kolonne 4 også. Højreklik derefter og vælg Flet kolonner .
Eller påfanen, vælg flet kolonner . Og denne dialogboks vises, som giver dig mulighed for at vælge separatoren.
I pop op-boksen skal du vælge Tab, og du kan indtaste et nyt kolonnenavn. I dette tilfælde kaldte jeg det Beskrivelse.
I formellinjen ser vi den M-kode, som dette transformationstrin har skabt.
Hvis formellinjen ikke er synlig på din skærm, skal du gå til fanen Vis og slå den til.
Så den funktion, som Power Query bruger til at flette kolonner, er Table.CombinedColumns . Den første parameter, der skal til, er en tabel. Denne tabel returneres af det forrige trin i vores kode, så i de anvendte trin vil du se, at dette kaldes Source .
Derefter hårdkodede den kolonnenavnene på en liste. Her ser du listeinitialiserere, og mellem in-text-værdier, kolonnenavnsbeskrivelsen og kolonnenavnet kolonne 4. Derefter kalder den en anden M-funktion til at kombinere tekstværdierne i disse kolonner.
Og endelig sender den det nye kolonnenavn som en tekst, så vi kan justere det.
Så hvis vi ønsker, at denne funktion dynamisk skal flette et skiftende antal kolonner, bliver vi nødt til at ændre den anden parameterværdi, der nu indeholder en liste med hårdkodede kolonnenavne.
Fletning af et skiftende antal kolonner i en Power-forespørgselstabel
Jeg går tilbage til min rådataforespørgsel, og hvis vi ser nærmere på kolonnenavnene, ser vi, at hver af spildkolonnerne er anonyme. De har ikke egennavne, men de starter alle med tekstkolonnen efterfulgt af et tal. Lad os se, om vi kan bruge det. Først opretter jeg en reference ved at højreklikke her og vælge Reference .
Og for at få kolonnenavnene inde i formellinjen kan jeg tilføje Table.ColumnNames . Denne funktion returnerer en liste med alle kolonnenavnene fra den tabel. Lad os gøre dette tilbage til en tabel ved at klikke på Til tabel .
Klik på OK i denne pop op-boks.
Derefter, på fanen Tilføj kolonne , vælger jeg Formater og derefter Trim .
Nu er dette ikke en transformation, som jeg ønsker at udføre, men det genererer størstedelen af M-koden for mig. Alt jeg skal gøre er.
Så inde i formellinjen, i stedet for Text.Trim , kan vi sige om Text.StartsWith , og derefter pege på vores kolonne 1 , så kopierer jeg det med det samme. Den vil have den tekst, vi leder efter, så det bliver Column. Så hvis det starter med en tekstkolonne, vil vi have "nul" - for alt andet vil vi have, hvad der er i kolonne 1. Vi kan også omdøbe den kolonne, så inde i formellinjen, i stedet for Trim, lad os kalde det GroupColumn .
Nu skal vi bare udfylde dem med disse værdier. Så jeg højreklikker på min overskrift, vælger Fyld og Ned .
Så næste gang data kommer ind, og antallet af kolonner har ændret sig, vil denne gruppe automatisk samle det op.
Lad os omdøbe denne forespørgsel, jeg vil kalde det kolonnegrupper.
Lad os sikre os, at dens belastning er blevet deaktiveret, fordi dette kun er en understøttende forespørgsel.
Jeg kan henvise til denne understøttende forespørgsel, og jeg omdøber den senere. Lad os lade det ligge for nu. Så hvis du husker det, startede vi med at slå to kolonner sammen, og det skabte en hårdkodet liste med kolonnenavnene , men nu kan vi filtrere på Beskrivelse i vores GroupColumn .
Så hvis vi laver det filter på beskrivelsen inde i kolonne 1, får vi de kolonner, der opfylder disse kriterier.
Dette er dog en tabel og ikke en liste.fordi vi skal inkludere disse kolonner i vores fletteoperation. Så for at gøre det kan vi højreklikke på vores kolonne 1-overskrift og vælge Drill Down .
Og nu får vi en liste. Så lad os give denne forespørgsel et rigtigt navn ( ListDescr ), og lad os kontrollere, om den er deaktiveret fra indlæsning.
Nu kan vi gå tilbage til vores resultatforespørgsel og erstatte det andet argument her med vores dynamiske liste. Så her kan vi referere til vores ListDescr .
Lad os også gentage dette for beskrivelse 2. Jeg går til min ColumnGroups-forespørgsel. Jeg opretter en anden reference og vælger de kolonner, jeg har brug for. Så filtrerer jeg beskrivelse 2, som returnerer disse tre kolonner. Jeg højreklikker på min header og vælger Drill Down og omdøber også denne forespørgsel ( ListDescr2 ).
Jeg går derefter tilbage til min resultatforespørgsel, vælger kolonnen Beskrivelse2 og trykker på enten skift eller kontrol for også at vælge den næste kolonne (kolonne2). Jeg højreklikker på overskriften og vælger.
I pop op-boksen vælger jeg Tab som skilletegn, og jeg kalder dette Beskrivelse2.
Jeg vil bare ændre kolonnenavnet her på formellinjen. Jeg vil også ændre den hårdkodede liste fra den liste, vi lige har oprettet. Og nu har dette, som du kan se, også hentet kolonne 8, som vi tidligere udelukkede.
Konklusion
I denne blog har jeg vist dig, hvordan du bruger M-koder i Power Query til dynamisk at flette kolonner. Det er ikke svært, så længe du er fortrolig med, hvordan Power Query fungerer, og hvilke M-koder du skal bruge.
Jeg håber, du har nydt denne. Tjek venligst nedenstående links for mere relateret indhold.
Alt det bedste!
Melissa
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.