Cómo expandir correctamente tablas anidadas en Power Query

Contenido

Digamos que tenemos un archivo de Excel con varias tablas inteligentes:

Cómo expandir correctamente tablas anidadas en Power Query

Si carga estas tablas en Power Query de la manera estándar usando el comando Datos – Obtener datos – Desde archivo – Desde libro (Datos — Obtener datos — Desde archivo — Desde libro de trabajo), entonces obtenemos algo como esto:

Cómo expandir correctamente tablas anidadas en Power Query

Creo que la imagen es familiar para muchos usuarios de Power Query. Se pueden ver tablas anidadas similares después de combinar consultas (a la BUSCARV), agrupar (comando Agrupar por de la pestaña. ), importar todos los archivos de una carpeta determinada, etc.

El siguiente paso lógico en esta situación suele ser expandir todas las tablas anidadas a la vez, usando el botón con flechas dobles en el encabezado de la columna. Datos:

Cómo expandir correctamente tablas anidadas en Power Query

Como resultado, obtenemos un conjunto de todas las filas de todas las tablas en un todo único. Todo es bueno, simple y claro. 

Ahora imagine que se agregó una nueva columna (Descuento) en las tablas de origen y/o se eliminó una de las existentes (Ciudad):

Cómo expandir correctamente tablas anidadas en Power Query

Luego, nuestra solicitud después de la actualización devolverá una imagen no tan hermosa: el descuento no apareció y la columna de la ciudad quedó vacía, pero no desapareció:

Cómo expandir correctamente tablas anidadas en Power Query

Y es fácil ver por qué: en la barra de fórmulas, puede ver claramente que los nombres de las columnas expandidas están codificados en los argumentos de la función. Tabla.ExpandTableColumn como listas entre corchetes.

Evitar este problema es fácil. Primero, obtengamos los nombres de columna del encabezado de cualquier tabla (por ejemplo, la primera) usando la función Tabla.Nombresdecolumnas. Se verá como:

Cómo expandir correctamente tablas anidadas en Power Query

Aquí:

  • #”Otras columnas eliminadas” – el nombre del paso anterior, de donde tomamos los datos
  • 0 {} – el número de la tabla de la que extraemos el encabezado (contando desde cero, es decir, 0 es la primera tabla)
  • [Datos] – el nombre de la columna en el paso anterior, donde se encuentran las tablas expandidas

Queda por sustituir la construcción obtenida en la barra de fórmulas en la función Tabla.ExpandTableColumn en el paso de expandir tablas en lugar de listas codificadas. Todo debería verse así al final:

Cómo expandir correctamente tablas anidadas en Power Query

Eso es todo. Y no habrá más problemas con la expansión de tablas anidadas cuando cambien los datos de origen.

  • Creación de tablas multiformato a partir de una hoja en Power Query
  • Cree tablas con diferentes encabezados a partir de múltiples archivos de Excel
  • Recopilación de datos de todas las hojas del libro en una tabla

 

Deje un comentario