Com expandir correctament les taules imbricades a Power Query

contingut

Suposem que tenim un fitxer Excel amb diverses taules intel·ligents:

Com expandir correctament les taules imbricades a Power Query

Si carregueu aquestes taules a Power Query de la manera estàndard mitjançant l'ordre Dades – Obtenir dades – Del fitxer – Del llibre (Dades — Obtenir dades — Del fitxer — Del llibre de treball), llavors obtenim alguna cosa com això:

Com expandir correctament les taules imbricades a Power Query

La imatge, crec, és familiar per a molts usuaris de Power Query. Es poden veure taules imbricades similars després de combinar consultes (a la VLOOKUP), agrupar (ordre Agrupar per llengüeta Transformació), importar tots els fitxers d'una carpeta determinada, etc.

El següent pas lògic en aquesta situació sol ser expandir totes les taules imbricades alhora, fent servir el botó amb fletxes dobles a la capçalera de la columna. dades:

Com expandir correctament les taules imbricades a Power Query

Com a resultat, obtenim un conjunt de totes les files de totes les taules en un sol tot. Tot és bo, senzill i clar. 

Ara imagineu que s'ha afegit una nova columna (Descompte) a les taules d'origen i/o s'ha suprimit una de les existents (Ciutat):

Com expandir correctament les taules imbricades a Power Query

Aleshores, la nostra sol·licitud després de l'actualització tornarà una imatge no tan bonica: el descompte no va aparèixer i la columna de la ciutat es va quedar buida, però no va desaparèixer:

Com expandir correctament les taules imbricades a Power Query

I és fàcil veure per què: a la barra de fórmules podeu veure clarament que els noms de les columnes expandides estan codificats en els arguments de la funció Taula.ExpandTableColumn com a llistes entre claudàtors.

Eludir aquest problema és fàcil. Primer, obtenim els noms de les columnes de la capçalera de qualsevol taula (per exemple, la primera) mitjançant la funció Taula.Noms de columna. Es veurà així:

Com expandir correctament les taules imbricades a Power Query

Aquí:

  • #"S'han eliminat altres columnes" – el nom del pas anterior, d'on traiem les dades
  • 0 {} – el número de la taula de la qual extreu la capçalera (comptant des de zero, és a dir, 0 és la primera taula)
  • [Dades] – el nom de la columna del pas anterior, on es troben les taules ampliades

Queda per substituir la construcció obtinguda a la barra de fórmules per la funció Taula.ExpandTableColumn al pas d'ampliar taules en lloc de llistes codificades en dur. Al final tot hauria de quedar així:

Com expandir correctament les taules imbricades a Power Query

Això és tot. I no hi haurà més problemes amb l'expansió de taules imbricades quan canviïn les dades d'origen.

  • Creació de taules multiformat a partir d'un full a Power Query
  • Creeu taules amb diferents capçaleres a partir de diversos fitxers Excel
  • Recollida de dades de tots els fulls del llibre en una taula

 

Deixa un comentari