Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

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.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

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 .

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

Eller påfanen, vælg flet kolonner . Og denne dialogboks vises, som giver dig mulighed for at vælge separatoren.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

I pop op-boksen skal du vælge Tab, og du kan indtaste et nyt kolonnenavn. I dette tilfælde kaldte jeg det Beskrivelse.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

I formellinjen ser vi den M-kode, som dette transformationstrin har skabt.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

Hvis formellinjen ikke er synlig på din skærm, skal du gå til fanen Vis og slå den til.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

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.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

Og endelig sender den det nye kolonnenavn som en tekst, så vi kan justere det.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

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 .

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

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 .

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

Klik på OK i denne pop op-boks.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

Derefter, på fanen Tilføj kolonne , vælger jeg Formater og derefter Trim .

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

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ådan flettes kolonner dynamisk i en Power-forespørgselstabel

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 .

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

Nu skal vi bare udfylde dem med disse værdier. Så jeg højreklikker på min overskrift, vælger Fyld og Ned .

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

Så næste gang data kommer ind, og antallet af kolonner har ændret sig, vil denne gruppe automatisk samle det op.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

Lad os omdøbe denne forespørgsel, jeg vil kalde det kolonnegrupper.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

Lad os sikre os, at dens belastning er blevet deaktiveret, fordi dette kun er en understøttende forespørgsel.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

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ådan flettes kolonner dynamisk i en Power-forespørgselstabel

Så hvis vi laver det filter på beskrivelsen inde i kolonne 1, får vi de kolonner, der opfylder disse kriterier.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

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 .

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

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.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

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 .

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

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.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

I pop op-boksen vælger jeg Tab som skilletegn, og jeg kalder dette Beskrivelse2.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel

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.

Sådan flettes kolonner dynamisk i en Power-forespørgselstabel




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

Leave a Comment

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

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.

Oprettelse af en datotabel i LuckyTemplates

Oprettelse af en datotabel i LuckyTemplates

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

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.

Professionelle serviceanalyserapporter i LuckyTemplates

Professionelle serviceanalyserapporter i LuckyTemplates

I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.

Almindelige SQL-funktioner: En oversigt

Almindelige SQL-funktioner: En oversigt

Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.

LuckyTemplates skabelonoprettelse: Guide og tips

LuckyTemplates skabelonoprettelse: Guide og tips

I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.

LuckyTemplates-rangering og brugerdefineret gruppering

LuckyTemplates-rangering og brugerdefineret gruppering

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.

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

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.