Slik slår du sammen kolonner dynamisk i en Power Query-tabell

I denne opplæringen vil vi undersøke et interessant spørsmål som ble reist påom hvordan du dynamisk slår sammen et skiftende antall kolonner i en Power Query-tabell. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.

Dette scenariet omhandler eksport av rådata som får dataene til å spre seg inn i et ukjent antall tilstøtende kolonner. Når du ser på eksemplet, kan du se at beskrivelsen har spilt over i kolonne 4, og beskrivelse 2 er delt over to tilstøtende kolonner. Men det vil ikke alltid være tilfelle. I neste syklus kan dette antallet kolonner endres.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Før vi går inn i løsningen, la oss undersøke M-koden som Power Query genererer når du slår sammen kolonner.

Innholdsfortegnelse

Power Query Tabell M-kode

Det er et par måter å slå sammen kolonner på. Den ene er å velge både beskrivelseskolonnen og trykke ned enten shift-tasten eller kontrolltasten, og velg deretter kolonne 4 også. Høyreklikk deretter og velg Slå sammen kolonner .

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Eller, påfanen, velg slå sammen kolonner . Og denne dialogboksen vises, som lar deg velge skilletegn.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

I popup-boksen velger du Tab, og du kan skrive inn et nytt kolonnenavn. I dette tilfellet kalte jeg det Beskrivelse.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

I formellinjen ser vi M-koden som dette transformasjonstrinnet har opprettet.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Hvis formellinjen ikke er synlig på skjermen, går du til fanen Vis og slår den på.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Så funksjonen som Power Query bruker for å slå sammen kolonner er Table.CombinedColumns . Den første parameteren som kreves er en tabell. Den tabellen returneres av det forrige trinnet i koden vår, så i Applied Steps vil du se at dette kalles Source .

Deretter hardkodet den kolonnenavnene i en liste. Her ser du listeinitialiserere, og mellom verdier i teksten, beskrivelsen av kolonnenavnet og kolonnenavnet kolonne 4. Deretter kaller den en annen M-funksjon for å kombinere tekstverdiene i disse kolonnene.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Og til slutt sender den det nye kolonnenavnet som en tekst slik at vi kan justere det.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Så hvis vi vil at denne funksjonen dynamisk skal slå sammen et skiftende antall kolonner, må vi endre den andre parameterverdien som nå inneholder en liste med hardkodede kolonnenavn.

Slå sammen et skiftende antall kolonner i en Power Query-tabell

Jeg går tilbake til rådataspørringen min, og hvis vi ser nærmere på kolonnenavnene, ser vi at hver av utslippskolonnene er anonyme. De har ikke egennavn, men de starter alle med tekstkolonnen, etterfulgt av et tall. La oss se om vi kan bruke det. Først skal jeg lage en referanse ved å høyreklikke her og velge Referanse .

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Og for å få kolonnenavnene inne i formellinjen, kan jeg legge til Table.ColumnNames . Denne funksjonen returnerer en liste med alle kolonnenavnene fra den tabellen. La oss gjøre dette tilbake til en tabell ved å klikke på Til tabell .

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Klikk OK i denne popup-boksen.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Deretter, på Legg til kolonne- fanen, velger jeg Format , og deretter Trim .

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Nå, dette er ikke en transformasjon jeg vil utføre, men det genererer mesteparten av M-koden for meg. Alt jeg trenger å gjøre er.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Så inne i formellinjen, i stedet for Text.Trim , kan vi si om Text.StartsWith , og deretter peke den til vår kolonne 1 , så kopierer jeg det umiddelbart. Den vil ha den teksten vi leter etter, så det blir Column. Så hvis den starter med en tekstkolonne, vil vi ha "null" - for alt annet vil vi ha det som er i kolonne 1. Vi kan også gi nytt navn til den kolonnen, så inne i formellinjen, i stedet for Trim, la oss kalle det GroupColumn .

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Nå trenger vi bare fylle dem med disse verdiene. Så jeg høyreklikker på overskriften min, velger Fyll og ned .

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Så neste gang data kommer inn og antallet kolonner har endret seg, vil denne gruppen automatisk plukke opp det.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

La oss gi nytt navn til denne spørringen, jeg kaller det kolonnegrupper.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

La oss sørge for at belastningen er deaktivert fordi dette bare er et støttesøk.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Jeg kan referere til dette støttesøket, og jeg vil gi dette nytt navn senere. La oss la det være nå. Så hvis du husker det, startet vi med å slå sammen to kolonner, og det skapte en hardkodet liste med kolonnenavnene , men nå kan vi filtrere på Beskrivelse i vår gruppekolonne .

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Så hvis vi gjør det filteret på beskrivelsen i kolonne 1, får vi kolonnene som oppfyller disse kriteriene.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Dette er imidlertid en tabell og ikke en liste.fordi vi må inkludere disse kolonnene i fletteoperasjonen vår. Så for å gjøre det kan vi høyreklikke på kolonne 1-overskriften og velge Drill Down .

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Og nå får vi en liste. Så la oss gi denne spørringen et riktig navn ( ListDescr ) og la oss sjekke om den er deaktivert fra innlasting.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Nå kan vi gå tilbake til resultatspørringen vår og erstatte det andre argumentet her med vår dynamiske liste. Så her kan vi referere til vår ListDescr .

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

La oss gjenta dette for beskrivelse 2 også. Jeg går til KolumnGrupper-spørringen min. Jeg oppretter en annen referanse og velger kolonnene jeg trenger. Deretter filtrerer jeg beskrivelse 2, som vil returnere disse tre kolonnene. Jeg høyreklikker overskriften min og velger Drill Down og gir også nytt navn til denne spørringen ( ListDescr2 ).

Jeg går deretter tilbake til resultatspørringen, velger kolonnen Beskrivelse2 og trykker på enten skift eller kontroll for å velge neste kolonne også (kolonne2). Jeg høyreklikker på overskriften og velger.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

I popup-boksen velger jeg Tab som skilletegn, og jeg kaller dette Beskrivelse2.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell

Jeg skal bare endre kolonnenavnet her på formellinjen. Jeg vil også endre den hardkodede listen fra listen vi nettopp har laget. Og nå, som du kan se, har dette også plukket opp kolonne 8 som vi tidligere ekskluderte.

Slik slår du sammen kolonner dynamisk i en Power Query-tabell




Konklusjon

I denne bloggen har jeg vist deg hvordan du bruker M-koder i Power Query for å slå sammen kolonner dynamisk. Det er ikke vanskelig så lenge du er kjent med hvordan Power Query fungerer og hvilke M-koder du skal bruke.

Jeg håper du likte denne. Vennligst sjekk lenkene nedenfor for mer relatert innhold.

Beste ønsker!

Melissa

Leave a Comment

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.

Opprette en datotabell i LuckyTemplates

Opprette en datotabell i LuckyTemplates

Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.

Vanlige SQL-funksjoner: en oversikt

Vanlige SQL-funksjoner: en oversikt

Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.

LuckyTemplates Template Creation: Guide og tips

LuckyTemplates Template Creation: Guide og tips

I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.

LuckyTemplates-rangering og tilpasset gruppering

LuckyTemplates-rangering og tilpasset gruppering

I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.