Hvordan utvide nestede tabeller på riktig måte i Power Query

Innhold

La oss si at vi har en Excel-fil med flere smarte tabeller:

Hvordan utvide nestede tabeller på riktig måte i Power Query

Hvis du laster disse tabellene inn i Power Query på standard måte ved å bruke kommandoen Data – Hent data – Fra fil – Fra bok (Data – Hent data – Fra fil – Fra arbeidsbok), så får vi noe slikt:

Hvordan utvide nestede tabeller på riktig måte i Power Query

Bildet tror jeg er kjent for mange Power Query-brukere. Lignende nestede tabeller kan sees etter å ha kombinert spørringer (a la VLOOKUP), gruppering (kommando Gruppe av tab Transformation), importere alle filer fra en gitt mappe osv.

Det neste logiske trinnet i denne situasjonen er vanligvis å utvide alle nestede tabeller samtidig – ved å bruke knappen med doble piler i kolonneoverskriften Data:

Hvordan utvide nestede tabeller på riktig måte i Power Query

Som et resultat får vi en samling av alle rader fra alle tabeller til en enkelt helhet. Alt er bra, enkelt og oversiktlig. 

Tenk deg nå at en ny kolonne (Rabatt) ble lagt til i kildetabellene og/eller en av de eksisterende (By) ble slettet:

Hvordan utvide nestede tabeller på riktig måte i Power Query

Da vil vår forespørsel etter oppdateringen returnere et ikke så vakkert bilde - rabatten dukket ikke opp, og bykolonnen ble tom, men forsvant ikke:

Hvordan utvide nestede tabeller på riktig måte i Power Query

Og det er lett å se hvorfor – i formellinjen kan du tydelig se at navnene på de utvidede kolonnene er hardkodet i funksjonsargumentene Table.ExpandTableColumn som lister i krøllete parenteser.

Det er enkelt å komme seg rundt dette problemet. Først, la oss hente kolonnenavnene fra overskriften til en hvilken som helst (for eksempel den første) tabellen som bruker funksjonen Tabell.Kolonnenavn. Det vil se slik ut:

Hvordan utvide nestede tabeller på riktig måte i Power Query

Her:

  • #"Andre kolonner fjernet" – navnet på forrige trinn, hvor vi henter dataene fra
  • 0 {} – nummeret på tabellen som vi trekker ut overskriften fra (teller fra null, dvs. 0 er den første tabellen)
  • [data] – navnet på kolonnen i forrige trinn, der de utvidede tabellene er plassert

Det gjenstår å erstatte konstruksjonen oppnådd i formellinjen i funksjonen Table.ExpandTableColumn på trinnet med å utvide tabeller i stedet for hardkodede lister. Det hele skal se slik ut til slutt:

Hvordan utvide nestede tabeller på riktig måte i Power Query

Det er alt. Og det vil ikke være flere problemer med å utvide nestede tabeller når kildedataene endres.

  • Bygge multiformattabeller fra ett ark i Power Query
  • Bygg tabeller med forskjellige overskrifter fra flere Excel-filer
  • Samle data fra alle arkene i boken i én tabell

 

Legg igjen en kommentar