Hace un tiempo comenté sobre algunas diferencias existentes entre Power Query y Power Pivot, una ellas es la capacidad que tiene Power Query para leer los metadatos, analizarlos e identificar las relaciones entre tablas de Bases de datos relacionales. En una de las entradas de esta serie, analicé diferencias a la hora de denormalizar tablas.
Es decir, si nuestro origen de datos es relacional, y si las tablas que necesitamos están debidamente relacionadas, trabajaremos con gran comodidad; pero si esto no ocurre, entonces tendremos que Combinar consultas, y a esto nos vamos a dedicar hoy.
El caso que vamos a tratar es que tenemos tres consultas para las tablas Producto, Subcategoría y Categoría. Necesitamos combinarlas, para que las tres consultas nos queden en una única consulta con todas las columnas, que necesitamos llevar al modelo de datos. Recordemos que la consulta Productos se obtuvo a partir de varios ficheros texto separados por coma que se procesaron como un todo desde una carpeta, Subcategorías tiene su origen en una tabla del propio libro Excel y Categorías es un fichero TXT, que se procesó de forma independiente.
Combinar consultas
Desde Obtener y transformar en la ficha Datos de Excel 2016 en Nueva Consulta tenemos un menú para Combinar consultas, cuya primera opción es Unir o mezclar, a ver cómo queda traducido al final, a mí me gustaría más mezclar.
Esto representa un cambio en el menú, queda más escondido que antes, quizás no sea tan afortunado, se puede combinar sin necesidad de crear una consulta nueva, tener una creada y combinar… en fin, ahora no se ve tan claro como antes, solo eso. Y para recordar, les dejo la imagen para Excel 2013.
En la próxima entrada hablaremos sobre Anexar, veamos la funcionalidad implementada para Combinar.
Combinar
Nos muestra una ventana, para seleccionar las consultas, las que ya se denomina tablas. Hay que seleccionar las columnas por las que se va a efectuar la unión y la condición que se va a aplicar. En esta imagen se muestra el mensaje que indica que las columnas deben ser del mismo tipo y si miramos detenidamente se observa además que en la tabla Productos la columna ProductSubcategory es de tipo texto, mientras que la columna ID de Subcategorías es de tipo número entero. La alineación ayuda a distinguir el tipo de dato.
Para solucionar el error en la definición de los Tipos de datos, nos vamos al Editor de consulta, ficha Inicio, grupo Transformar, identificamos el tipo actual y lo modificamos.
Como resultado tenemos ambas columnas de tipo Número entero. En ambos casos están alineados a la derecha.
Como las columnas ya son del mismo tipo se pueden unir. Queda por definir el Tipo de unión.
Los tipos de unión admitidos se muestran en la siguiente imagen
El tipo de unión, es fácil de identificar si venimos del mundo relacional. En cualquier caso les dejo un conjunto de imágenes para identificar cuál sería el conjunto resultante al aplicar cada tipo. La representación en el mismo orden en que aparecen, de arriba hacia abajo es la representada de izquierda a derecha. La imagen ha sido descargada desde aquí.
Regresando a la combinación entre consultas, como resultado de la acción, a la consulta principal se le añade una columna, y para cada línea aparece la palabra Table y si nos fijamos hay un botón en la esquina superior derecha de la columna, es el botón Expandir.
Expandir significa que se pueden seleccionar todas o varias columnas de la segunda consulta, la que se ha combinado, además se puede mantener el nombre de la segunda consulta para cada columna seleccionada.
En este caso nos interesa traer la columna Subcateg, que es la que describe la Subcategoría y la columna IdCateg, que es la que servirá de unión con la tabla Categoría y no queremos traernos el nombre de la tabla.
El efecto de la acción de Expandir se puede ver reflejado en esta imagen.
Apenas nos resta repetir el proceso, para la consulta Categoría, sin salir del Editor de consulta, ficha Inicio, grupo Combinar, podemos seleccionar el botón Combinar y tendremos el mismo proceso.
Seleccionamos las tablas, las columnas y el método de unión.
Obtenemos la columna Table agregada en nuestra tabla principal.
Expandimos, esta vez sólo necesitamos la columna Categoría
Y tenemos el resultado final, en una única consulta, Productos, podemos ver las columnas Categoría y Subcategoría, de esta forma, al pasar al modelo, ya pasan juntas, se podrían crear jerarquías con ellas dos y cualquier otra columna de la tabla Productos.
En la próxima entrada veremos Añadir como opción del menú Combinar del grupo Obtener y transformar de la ficha Datos de Excel 2016. Esta funcionalidad nos permite unir dos conjuntos de datos devueltos por dos consultas, dando como resultado un conjunto único.
Este artículo forma parte de la serie dedicada a MS Office Excel 2016.