martes, 20 de febrero de 2018

Power Query: Columna dinámica

Seguimos con la herramienta Obtener y transformar/Power Query.
Hoy trabajaremos para conseguir, a partir de una tabla con campo 'Zona', 'Producto' e 'Importes', una nueva tabla resumen con importes acumulados de los 'productos' por cada 'zona' (a semejanza de una tabla dinámica'.

En particular nos aprovecharemos de una herramienta especialmente útil de Power Query: Columna dinámica / Unpivot.

Power Query: Columna dinámica



Como siempre, desde la tabla, cargamos los datos en el editor de consultas:
Desde la hoja de cálculo accedemos a la Ficha Datos > grupo Obtener y transformar > Desde una tabla.


Ya en editor de consulta, y con nuestra consulta habilitada, seleccionamos el campo 'Zona', y navegamos hasta el menú Transformar > grupo Cualquier columna > botón Columna dinámica

Power Query: Columna dinámica



Se abrirá una ventana de configuración donde ajustar la conversión.
Seleccionaremos como 'columna de valores' el campo numérico ('Importes'); y como función de valor agregado (que se empleará para agrupar los datos cruzados) la Suma.

Power Query: Columna dinámica



Hemos acabado. Podemos Cerrar y Cargar para obtener el resultado mostrado al inicio de la explicación.
Tenemos un tabla de referencia cruzada por zona y producto, y resumido por suma de importes acumulados...

Y como una tabla dinámica, nuevos elementos se incorporarán automáticamente en nuestro informe resumen.


A modo de curiosidad, si entramos en el editor avanzado de la consulta veremos:

let 
    Origen = Excel.CurrentWorkbook(){[Name="Tbl_Pdtos"]}[Content],
    #"Columna dinamizada" = Table.Pivot(Origen, List.Distinct(Origen[Zona]), "Zona", "Importes", List.Sum)
in
    #"Columna dinamizada"


Donde observamos el uso de la función Table.Pivot, que es precisamente la que habilita la posibilidad de crear nuevas columnas por cada elemento del campo indicado.

No hay comentarios:

Publicar un comentario