Operaciones de Fusión en Power BI / Power Query – Parte 2: Right Outer Join

  • Facebook
  • Twitter
  • LinkedIn

Si no has leído la Parte 1 de esta serie, te recomiendo que lo leas antes de esta publicación.

En la parte 1, aprendimos a hacer el LEFT OUTER JOIN (o unión externa izquierda) y algunos conceptos básicos sobre cómo funcionan las operaciones de fusión / unión dentro de Power Query / Power BI donde la posición de la tabla (la primera o la segunda), las columnas que se utilizan de la fusión y, lo más importante, (agregación vs expandir la operación) tienen un impacto en toda la experiencia al fusionar una tabla.

En esta segunda parte, entenderemos la RIGHT OUTER JOIN (Unión Externa Derecha) desde un punto de vista puramente práctico.

Datos Fuente

Al igual que en la publicación anterior, usaremos 2 tablas nuevamente:

  • ExportedData (Datos exportados)Imagina que esta es una tabla que se exporta desde un sistema ERP global y, como tal, contiene los datos no solo de mi región sino también de todas las regiones que pudieses visualizar. Lamentablemente, no podemos filtrar los datos desde el origen, por lo que debemos hacerlo de alguna manera con Power BI / Power Query.

  • SelectionTable (Tabla de Selección) esta es una simple lista de las combinaciones de códigos de regiones y categorías que me interesan y quiero conseguir.

El Objetivo

Solo tenemos 1 objetivo y es básicamente crear un subconjunto de los datos de la tabla ExportedData que solo tenga los datos en los que estamos interesados lo cual debería de lucir así:

La Solución

El siguiente es un proceso paso a paso sobre cómo podemos lograr el resultado deseado con solo unos pocos clics. No se necesita código, solo el uso del RIGHT OUTER JOIN  / combinación externa derecha dentro de Power Query.

Cargando los datos

Puedes seguir las instrucciones descargando el archivo de muestra desde el siguiente botón:

Descargar archivos de muestra

Lo primero que debemos hacer es cargar ambas tablas en Power Query / Power BI. Para hacerlo, simplemente vamos a Data > Get & Transform Data > Get Data > From File > From Workbook:

luego seleccionamos el archivo que descargamos (con el nombre de Sample Data.xlsx). Continuamos seleccionando la opción «Select Multiple Items» y elegimos las tablas ExportedData y SelectionTable:

y luego hacemos clic en «Transformar datos» o «Editar» según la versión de Power Query / Power BI que pueda tener.

Eso debería cargar ambas tablas dentro del editor de Power Query como se muestra a continuación:

Haciendo el Right Outer Join / Unión Externa Derecha

En esta etapa, estamos listos para hacer clic en el botón «Fusionar Consultas» (Merge Queries) que se ve en la parte superior central de la imagen anterior. Asegúrate de seleccionar, en el menú desplegable, la opción de fusionar consultas como nuevas (Merge Queries as New).

Ahora que obtuvimos una nueva ventana para armar la operación de fusión, aquí seleccionamos nuestra primera tabla como ExportedData y la segunda tabla debería ser la de SelectionTable.

Aquí viene la parte divertida, no solo vamos a seleccionar 1 columna de cada tabla, sino que en realidad elegiremos 2 columnas. ¿Te imaginas hacer esto con el Excel tradicional? Sé que si haces la técnica de ¡MacGyver!, probablemente concatenarías campos y luego intentaras usar el campo concatenado como la clave para su VLOOKUP o INDEX / MATCH en Excel, pero esto ya no es necesario con Power BI / Power Query.

Para poder seleccionar varias columnas, deberás mantener presionada la tecla Ctrl y luego hacer clic con el botón izquierdo en las columnas que desees. Observa que justo al lado del nombre de la columna debe haber un número, que denota el orden en el que se seleccionaron los campos: el orden debe ser el mismo en ambas tablas (la primera y la segunda) y por último, pero no menos importante, desde el menú desplegable Join Kind, selecciona RIGHT OUTER JOIN / Unión externa derecha como se muestra a continuación:

Después de presionar OK, regresaras al Power Query Editor y deberías poder verlo así:

De nuevo, al igual que lo que mencioné en la publicación anterior, obtuve una nueva columna llamada SelectionTable y sucedió algo interesante: la operación de Join / Merge / Fusión real hizo una especie de filtro y lo que vemos es un subconjunto de la tabla Exported Data original. Como se indica en la etiqueta de esta combinación, obtenemos «todo desde el segundo, coincidiendo con el primero», lo que significa que mantuvimos solo las filas que existían en la Tabla de Selección que tenía algún tipo de coincidencia en la primera, que es exactamente lo que buscábamos.

Pensamientos finales

Por lo general, llamo a este y otros tipos de unión una forma de usar “Filtros Inteligentes” porque te ayudan a crear algunas formas realmente dinámicas para obtener exactamente los datos que necesitas filtrar o eliminar.

Incluso hice un blog sobre esto hace un tiempo y puedes revisar la publicación del blog haciendo clic en la imagen a continuación:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *