jueves, 9 de julio de 2015

Vincular o combinar consultas con Power Query.

En una entrada anterior vimos un ejemplo de cómo consolidar datos en una tabla empleando el complemento Power Query (ver).
En el día de hoy veremos una alternativa a la función BUSCARV para relacionar información de dos tablas, aprendiendo a Combinar consultas con Power Query.


Partimos de dos tablas situadas en dos hojas distintas (TblPpal y TblPrecios):

Vincular o combinar consultas con Power Query.



Comenzaremos entonces a añadir ambas tablas desde la ficha POWER QUERY > grupo Datos de Excel > botón Desde Tabla:

Vincular o combinar consultas con Power Query.



Para evitar, de momento, generar una nueva hoja por cada consulta, tendremos la precaución desde el Editor de consultas de Guardar y cargar en...:

Vincular o combinar consultas con Power Query.


y en la ventana siguiente marcaremos Crear solo conexión:

Vincular o combinar consultas con Power Query.


otra posibilidad es sencillamente Guardar y cargar para luego eliminar la hoja generada...

Ya tenemos las dos consultas (sólo como conexión) de los dos orígenes...

Vincular o combinar consultas con Power Query.



El siguiente paso consistirá en Combinar ambas consultas...
para ello desde la ficha de Power Query > grupo Combinar > botón Combinar, seleccionaremos primero una Tabla (TblPPal) donde queramos traernos datos de la segunda tabla (TblPrecios), asegurándonos de seleccionar el/los campos que harán de unión/vínculo en ambas tablas (en el ejemplo el campo 'cod'):

Vincular o combinar consultas con Power Query.



Se nos habrá generado una nueva consulta llamada Merge1 (podremos cambiarle en nombre si queremos), que será el resultado de nuestro vínculo.
El siguiente paso será indicarle qué campo/s de la segunda consulta (de la TblPrecios) queremos mostrar... para el ejemplo indicaremos que queremos ver el campo 'precio' (para este caso deberemos dejar marcada la opción 'Expandir'):

Vincular o combinar consultas con Power Query.



Listo, ya podemos Cerrar y cargar, con lo que se generará una nueva hoja, con la tabla resultante...

Vincular o combinar consultas con Power Query.



Una alternativa a este proceso sería emplear el editor avanzado, donde añadiríamos el siguiente código:

let
    Vinculado1 = let
    Origen = Table.NestedJoin(TblPpal,{"cod"},TblPrecios,{"cod"},"Linked"),
    #"Expandir Linked" = Table.ExpandTableColumn(Origen, "Linked", {"precio"}, {"Linked.precio"})
in
    #"Expandir Linked",
    #"Columna Producto" = Table.AddColumn(Vinculado1, "Total", each [Linked.precio]*[uds])
in
    #"Columna Producto"


En este código avanzado, incluso se ha añadido un nuevo campo calculado ('Total'), resultante del producto de [uds] por [precio], personalizando los nombres de los campos...

Vincular o combinar consultas con Power Query.

No hay comentarios:

Publicar un comentario en la entrada