Miguel Escobar Publicada abril 9, 2019

Combinar o Anexar Datos en Power BI / Power Query: Conceptos Básicos

Power BIPower Query

Anteriormente hice una serie de artículos sobre las operaciones Merge/JOIN (aquí está la primera parte) y ahora es tiempo de publicar uno sobre las operaciones combinar/anexar.

Entonces… ¿Cómo se combinan/anexan/apilan tablas con Power BI/Power Query?

Hay múltiples formas de hacer esto, pero vamos a comenzar con lo más básico.

Caso: Combinar datos de 2 archivos CSV

image

Imagina que tenemos 2 archivos CSV.

  • Datos de ventas en el año 2017 (Sales 2017)
  • Datos de ventas en el año 2018 (Sales 2018)

En realidad, nuestras fuentes de datos pueden ser cualquiera. Puede ser un archivo CSV y un archivo de Excel, quizás una tabla de una base de datos y otra de una API.

Hacerlo en Power BI / Power Query no tiene mayor diferencia ya que harán los mismos procesos sin importar sus fuentes de datos. Lo que estoy a punto de mostrarte aplica para cada fuente de datos posible dentro de Power BI / Power Query.

Queremos anexar ambas en una única tabla. ¿Cómo hacemos eso?

Conectarse a los Datos

Este es un proceso bastante sencillo en donde seleccionamos nuestra fuente de datos desde la ventana “Obtener datos” y luego hacemos el proceso de importación. Este proceso mostrará una ventana del navegador para que puedas seleccionar tu archivo y luego te dará una vista previa de los datos como esta:

image

Para terminar, puedes hacer clic en Editar para ir directo al editor de Power Query.

Esto es bastante sencillo y en nuestro caso, nuestros archivos CSV tienen el formato correcto, por lo que no necesitamos hacer transformaciones aparte de las que hace Power BI / Power Query de forma automática.

Repetimos este proceso para el archivo 2018 y luego tendremos 2 consultas:

image

Esas son las consultas o las tablas que queremos apilar una encima de la otra. ¿Cómo hacemos eso?

Combinar / Apilar / Anexar Tablas

image

Esta es la parte más fácil de todas. Ahora lo único que debes hacer es encontrar el botón que dice Anexar consultas (Append Queries) y luego aparecerá una nueva ventana. Ahí puedes combinar todas las consultas que quieras.

image

No tienen que ser únicamente 2 tablas, pueden ser tantas tablas como quieras. Esto significa que el año siguiente, cuando ya tenga listos los datos del 2019 puedo simplemente crear una nueva consulta y agregarla a la lista de tablas que quiero que se combinen. Así de sencillo.

El resultado de esto será una tabla con todas las columnas de las tablas que combinamos y todos los datos de ambas.

image

Consideraciones

Carga de Datos

Cuando creas las consultas, estarán fijadas de forma predefinida para cargarse a tu Modelo de Datos o también se pueden crear como nuevas tablas dentro de Excel si usas Power Query para Excel.

Esto puede crear duplicación de datos, lo que no es necesario en absoluto. Para evitar que esto suceda, puedes cambiar el comportamiento de las consultas Ventas 2017 y Ventas 2018 y fijarlas como Solo conexión.

Con el Power BI Desktop,

Puedes hacer clic derecho en la consulta y deshabilitar la opción Cargar al desmarcar la opción Activar carga (Enable Load).

image

Privacidad de datos y el plegado de consultas (query folding)

Al combinar tus datos, sigue los lineamientos de muestra de Privacidad de Datos (aquí) y del Plegado de Consultas (aquí) como se mostró en los artículos anteriormente escritos. Esto significa que tendrás que estar pendiente del funcionamiento de esos conceptos en tu caso específico. Recomiendo que leas los artículos sobre este tema en caso te topes con errores o problemas de rendimiento.

La función Table.Combine

image

Cuando haces el proceso descrito en esta entrada de blog, Power Query terminará usando una función llamada Table.Combine.

Cuando Power Query usa esta función, el proceso es similar a cuando haces una SQL UNION ALL. Esto significa que Power Query intentará encontrar columnas equivalentes en todas las tablas y apilará los datos de forma adecuada. Si una tabla tiene columnas que la otra no, entonces llenará los espacios vacíos con valores nulos.

Esta función es POR MUCHO el mejor método cuando se trata de anexar datos ya que es una función que fue diseñada específicamente para este propósito.

Power BIPower Query
0 0 votes
Article Rating
Subscribe
Notify of
guest
28 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Mayte
Mayte
1 year ago

Buenas tardes,

Cuando cargo una hoja de datos como solo conexión y hago los pasos que necesite al Cerrar y Cargar no se donde se cargan los datos , no aparece ninguna hoja nueva con la carga, me podrían decir porque sucede esto.

Muchas gracias,

Un saludo,

Hugo Atencia
Hugo Atencia
1 year ago

Buenos días,
Realicé el proceso de Append queries as new, todo funcionó bien cuando lo hice, luego cuando se modificaron las tablas de origen (se agregaron más filas), power BI no reconoce la nueva información.
Qué puedo hacer?

Tom
Tom
1 year ago

Buenas, a nivel de rendimiento, que recomiendas para Power Bi, fuente de datos csv o excel?
gracias.

Tom
Tom
Reply to  Miguel Escobar
1 year ago

Gracias. Imaginaba que fuera así, pero al ser Office, pensé que a lo mejor lo habían orientado a que trabajases con Excel también.

Lily
Lily
10 months ago

Buenas tardes se que mi duda no esta con el tema del cual habla pero, me pueden apoyar es que quiero saber si es posible realizar un cambio de la base de datos sql. Es decir power bi esta conectado a «basadedatos» pero cambiaron la base a «BDatos», todos los cálculos están hechos en «basadedatos» es posible cambiarlos sin tener que hacer los cálculos nuevamente.

¡De antemano gracias! Saludos cordiales.

Martin
Martin
9 months ago

Hola!
Sabes como puedo agregar una columna que muestre el nombre de las diferentes tablas que anexe?
Muchas gracias!!

Mariafernanda Espinoza
Mariafernanda Espinoza
8 months ago

Hola, una consulta, si tengo 2 tablas distintas en una misma hoja de excel, puedo usarlas en POWER BI ?, o las tablas deben estar en hojas separadas?
MUCHAS GRACIAS

mario
mario
7 months ago

Cuando hago combinación de dos tablas, me duplica valores en el merge, que pasos estoy saltando o que debo hacer para no duplicar valores?

ppinedo
ppinedo
7 months ago

Hola Miguel,

muy buena explicacion, me fue muy util 🙂

si recibo una nueva tabla con los daros de 2019 y mas tarde 2020 ¿es posible crear una tabla que apìle todas las tablas recibidas sin tener que guardar las tablas anteriores?

Gracias 🙂

Adriana
Adriana
6 months ago

Necesito anexar dos consultas que tienen identicas columnas y en la misma ubicación cada una, pero cuando las anexo, cambia la posición de las columnas y no coinciden entre las consultas. Porque puede ser?

ppinedo
ppinedo
6 months ago

Hola miguel,

cuando desativas la carga de la datos(Enable load) desde el editor de Power Query(como en tu ejemplo), ¿afecta en algo a la operación con las tablas(ya sea combinar o anexar) o unicamente oculta la tabla a power BI? ¿Y la opcion «Load disabled»(que aparecce al principio de este post) como se activa?

Gracias Miguel, saludos 🙂

ppinedo
ppinedo
Reply to  Miguel Escobar
6 months ago

Muchas gracias por la aclaración miguel

José Ramos
José Ramos
6 months ago

Hola tengo un problema al usar la función UNION para unir 2 bases de datos de contabilidad, las cuales se originan de un software en desuso hasta 2020 y el nuevo software que se utiliza a partir de 2021. Ya hice el trabajo de homogenizar los datos y cantidad de columnas en ambas bases de datos (22 columnas).
Sin embargo, al reordenar la ubicación de las columnas en el editor de PQ esto no afecta el orden de las columnas en las tablas en Power Bi Desktop.
Consecuentemente, resultando una salida, después de aplicar UNION, con los datos «cambiados» en diferentes columnas.
Cómo puedo solucionar este problema?

LUDMILA
LUDMILA
4 months ago

Buenas noches, tengo 3 columnas, con calculate. Las 3 tienen espacios vacios y me gustaria juntarlas. Es posible? (los espacios vacios son los que llenarian las otras columnas) en POWER BI

Mateo Lopez
Mateo Lopez
2 months ago

Hola yo quisiera saber si hay alguna forma de evitar que una consulta se actualicé pero la otra si. Es decir tengo una consulta que tiene un histórico de tres años y ya las he cargado al modelo. Y solamente quisiera actualizar la del nuevo año y que se anexen dichas consultas ya que la consulta que tiene tres años históricos no va a variar nunca entonces quiero saber si me puedo evitar tener que actualizar dicha consulta pero la otra que tiene datos del año actual si se actualicé y se anexen