Tablas autoreferenciadas en Power Query que respetan valores en columnas agregadas al actualizarse

In Tutorial by RicardoLeave a Comment

Archivo de descarga

El problema

Cada vez que se agrega una columna a una tabla que proviene de una consulta de power query y en esa columna se modifican valores, al actualizar la consulta con filas nuevas, se descuadran las filas de los valores agregados a la nueva columna.

Veamos el problema con un ejemplo

  1. Tenemos una tabla llamada TablaFuente en Excel

2. Esa tabla la cargamos a Power Query

3. Renombramos la consulta de Power Query como TablaFuentePQ y la cargamos a una tabla en Excel. El resultado:

4. Agregamos directamente en Excel a la tabla fuente Power Query una columna llamada Apellido Excel y agregamos algunos datos

5. Agregamos un séptimo registro a la tabla fuente y actualizamos la tabla de la consulta de Power Query y vemos que los apellidos agregados se descuadran

Solución

La solución aquí es utilizar una consulta autoreferenciada que permite que se haga la actualización y Power Query respete los valores asociados cuando se hacen actualizaciones

Pasos para implementar la solución

  1. Cargar la tabla fuente a Power Query y renombrarla como TablaFuentePQ (este paso ya lo habíamos hecho antes)
  2. Seleccionar la tabla TablaFuentePQ en Excel
  3. Hacer clic en Datos | Obtener y transformar datos | Desde tabla / rango

4. Renombrar esa nueva consulta como TablaFuentePQResultado

5. Anexar la consulta de la tabla fuente TablaFuentePQ

6. Cargar la consulta TablaFuentePQResultado como tabla en Excel

7. Editar la consulta TablaFuentePQResultado y cambiar el origen para que tome la misma tabla (como una referencia circular)

8. Cerrar y cargar para que la tabla en Excel que viene desde esa consulta se actualicé (es normal que se dupliquen las filas, eso lo resolveremos más adelante)

9. Agregar la columna Apellido a la tabla en Excel (es escribe el encabezado en la celda)

10. Actualizar la consulta TablaFuentePQResultado (esto hace que aparezca duplicada la columna Apellido2)

11. Eliminar la columna duplicada

12. Quitar los duplicados de la consulta TablaFuentePQResultado en Power Query haciendo clic con el botón derecho sobre la columna ID (o la que sirva de identificador único de la tabla) y seleccionando Quitar duplicados

13. Ordenar y cambiar los tipos de datos

13. Cerrar y cargar

Probar la solución

  1. Escribir los apellidos en frente de cada nombre en la tabla (resultado) de Excel

2. Agregar un nuevo valor a la tabla fuente (original) y refrescar la tabla resultado

3. Agregar un apellido al último registro agregado y eliminar el del ID # 7

3. Refrescar la consulta de la tabla resultado (se ve que se respeta el apellido agregado y además se vuelve a agregar la fila que estaba en la tabla fuente original)

Nota: La tabla fuente Power Query se puede eliminar

Leave a Comment