miércoles, julio 03, 2019

BUSCARV y Power Query - segunda nota

En el post anterior señalamos algunos de los escenarios en los cuales es preferible usar Power Query en lugar de BUSCARV.

Tratamos el primero de los tres escenarios: cuando el orden de las columnas en la tabla de búsqueda nos obliga a realizar al búsqueda de derecha a izquierda. Si bien podemos sobreponernos a este inconveniente usando una combinación de INDICE con COINCIDIR, la carga de fórmulas en el hoja puede volverla muy lenta. Power Query nos exime de estos problemas.

Otra situación es cuando debemos realizar la búsqueda en base a más de un criterio de búsqueda. Supongamos esta situación


En la tabla de la izquierda (tbl_Calificaciones) tenemos las notas de los alumnos; queremos transportar esta notas a la tabla de la derecha. El problema es que debemos usar dos criterios: nombre y apellido ya que tanto los nombres propios como los apellidos se repiten, pero BUSCARV funciona con un solo criterio de búsqueda.
Podemos superar el problema concatenando el nombre y el apellido en sendas columnas auxiliares en ambas tablas. Pero, como en el ejemplo anterior, ésto nos lleva a alterar nuestras fuentes de datos. También podríamos hacer una concatenación implícita (dentro de la fórmula) pero tendríamos que recurrir a fórmulas complicadas y "pesadas" desde el punto de vista del recálculo de la hoja. Nótese además, que el orden de las columnas es distinto en ambas tablas.

Veamos la solución con Power Query. Empezamos por crear una conexión a la tabla tbl_Calificaciones y las guardamos como "solo conexión"



Luego creamos una conexión a Tabla1 y en editor de Power Query elegimos la opción "Combinar consultas"

En la ventana del editor de Power Query usamos la opción "Combinar consultas" de esta manera



Primero hacemos un clic a la columna Apellido de Tabla1 e inmediatamente después a Apellido de tbl_Calificaciones. Luego manteniendo apretada la tecla Ctrl marcamos las columnas Nombre de ambas tablas (nótese el número 1 al lado derecho de Apellido y el número 2 al lado derecho de Nombre).
Como ya vimos en el caso anterior, Power Query agrega una columna a la Tabla1 con una doble flecha a la derecha. Esta doble flecha nos indica que la columna es de hecho una tabla que podemos expandir y elegir que columnas agregar


En este caso vamos a seleccionar solamente "Calificación"


y este es el resultado


Elegimos "Cerrar y Cargar" y este es el resultado


Este video muestra todo el proceso



En el próximo post veremos el caso de BUSCARV con valores repetidos usando Power Query.

7 comentarios:

  1. Gracias por compartir estos post. Sin embargo, si los videos tuviesen audio, entendería mejor la enseñanza. La rapidez como haces las cossas dificulta apreciarla en toda su magnitud.

    ResponderBorrar
  2. Gracias por el comentario. Subiré un video más explicativo en las próximas horas.

    ResponderBorrar
  3. Antonio, acabo de agregar el video con audio. Esperero que te resulte útil.

    ResponderBorrar
  4. Hola Jorge. Power Query abre una puerta de posibilidades infinitas entonces.Esto mismo ¿tal vez se pudiera hacer con tablas dinámicas? Y cruzar después la combinación de ambas tablas (no lo hice, sólo lo pienso), pero PQ de una forma muy simple solucióna un problema que con fórmulas animadas (mis favoritas) es muy engorroso crearlas. Muchas gracias por compartir este simple ejemplo y me "ilumina" un nuevo camino de análisis y combinaciones que no conocía hasta ahora. Saludos desde Buenos Aires.

    ResponderBorrar
  5. Alfredo, si, se podría hacer pero de tu misma descripción se ve que resultaría bastante engorroso. La ventaja de PQ está además en lo dinámico. Una vez que definimos la transformación obtendremos los resultados sin necesidad de ajustar los rangos de las tablas.
    En las próximas notas me extenderé sobre este tema.

    ResponderBorrar
  6. Cuando hago el ejemplo y lo he repetido varias veces solo me sale la coincidencia en 3 filas de las 9 , de hecho cuando estoy haciendo la combinación de ambas tablas me advierte que solo 3 filas coinciden con el resto, no entiendo porque...., gracias

    ResponderBorrar
    Respuestas
    1. Puedes echarle un vistazo al video que aparece al final del post para ver todo el proceso. Sin ver tu archivo no puedo decirte donde esta el error. Puedes enviarle el archivo por mail privado (fijate en Ayuda, en la barra superior del blog)

      Borrar

Nota: sólo los miembros de este blog pueden publicar comentarios.