Sisäkkäisten taulukoiden laajentaminen oikein Power Queryssä

Sisällys

Oletetaan, että meillä on Excel-tiedosto, jossa on useita älykkäitä taulukoita:

Sisäkkäisten taulukoiden laajentaminen oikein Power Queryssä

Jos lataat nämä taulukot Power Queryyn tavallisella tavalla komennolla Tiedot – Hae tiedot – Tiedostosta – Kirjasta (Data — Hae tiedot — Tiedostosta — Työkirjasta), niin saamme jotain tällaista:

Sisäkkäisten taulukoiden laajentaminen oikein Power Queryssä

Luulen, että kuva on tuttu monille Power Queryn käyttäjille. Samanlaisia ​​sisäkkäisiä taulukoita voidaan nähdä yhdistämällä kyselyt (a la VLOOKUP), ryhmittelyn (komento Ryhmän mukaan kieleke Muutos), tuomalla kaikki tiedostot tietystä kansiosta jne.

Seuraava looginen askel tässä tilanteessa on yleensä laajentaa kaikki sisäkkäiset taulukot kerralla – käyttämällä sarakkeen otsikossa olevaa kaksoisnuolipainiketta. Päiväys:

Sisäkkäisten taulukoiden laajentaminen oikein Power Queryssä

Tuloksena saamme kaikkien taulukoiden kaikkien rivien kokoonpanon yhdeksi kokonaisuudeksi. Kaikki on hyvää, yksinkertaista ja selkeää. 

Kuvittele nyt, että lähdetaulukoihin lisättiin uusi sarake (Alennus) ja/tai jokin olemassa olevista (Kaupunki) poistettiin:

Sisäkkäisten taulukoiden laajentaminen oikein Power Queryssä

Sitten päivityksen jälkeinen pyyntömme palauttaa ei niin kauniin kuvan - alennus ei ilmestynyt, ja kaupunkisarake tyhjeni, mutta ei kadonnut:

Sisäkkäisten taulukoiden laajentaminen oikein Power Queryssä

Ja syy on helppo nähdä – kaavapalkissa näet selvästi, että laajennettujen sarakkeiden nimet on koodattu funktion argumenteissa Table.ExpandTableColumn luetteloina suluissa.

Tämän ongelman kiertäminen on helppoa. Haetaan ensin sarakkeiden nimet minkä tahansa (esimerkiksi ensimmäisen) taulukon otsikosta funktiota käyttämällä Taulukko.Sarakkeiden nimet. Se näyttää tältä:

Sisäkkäisten taulukoiden laajentaminen oikein Power Queryssä

Tässä:

  • #"Muut sarakkeet poistettu" – edellisen vaiheen nimi, josta otamme tiedot
  • 0 {} - sen taulukon numero, josta poimimme otsikon (nollasta laskettuna, eli 0 on ensimmäinen taulukko)
  • [Tiedot] – sen sarakkeen nimi edellisessä vaiheessa, jossa laajennetut taulukot sijaitsevat

On vielä korvattava kaavapalkissa saatu konstruktio funktioon Table.ExpandTableColumn taulukoiden laajentamisen vaiheessa kovakoodattujen luetteloiden sijaan. Loppujen lopuksi kaiken pitäisi näyttää tältä:

Sisäkkäisten taulukoiden laajentaminen oikein Power Queryssä

Siinä kaikki. Eikä ole enää ongelmia sisäkkäisten taulukoiden laajentamisessa, kun lähdetiedot muuttuvat.

  • Monimuotoisten taulukoiden rakentaminen yhdestä taulukosta Power Queryssa
  • Luo taulukoita eri otsikoilla useista Excel-tiedostoista
  • Tietojen kerääminen kirjan kaikista lehdistä yhteen taulukkoon

 

Jätä vastaus