Continuamos con el ejemplo anterior, en dicho ejemplo, recordamos que cuando usamos la función Excel.CurrentWorkbook, nos traemos todas las tablas del libro activo, y, eliminamos la columna de Name.
Pues, vamos a realizar el mismo ejemplo, pero no vamos a eliminar la columna Name.
En este caso, el nombre de la hoja no es el mismo, por ejemplo, la hoja Sevilla, pues, la tabla se llama Sevilla_Ventas.
Igual para el resto de las provincias.
Vamos a la pestaña de datos, dentro del grupo obtener y transformar, desplegamos obtener datos, y, seleccionamos de otras fuentes.
En la ventana que se abre a la derecha, seleccionamos consulta en blanco.
Se abre el editor de Power Query, la función Excel.CurrentWorkbook, devuelve todas las tablas del libro activo, pero esta función devuelve tablas, nombres de rangos, rangos de impresión, y, rangos filtrados, no extraerá hojas de datos.
En la barra de fórmulas, escribimos:
Obtenemos todas las tablas del libro activo.
En la columna Name, vemos los nombres de las tablas, pero, quisiera que solo apareciera la provincia, pues, seleccionamos la columna desde la pestaña inicio, dentro del grupo transformar, vemos reemplazar los valores.
También, podemos acceder a reemplazar los valores, haciendo clic con botón alternativo de ratón sobre la columna.
Pues, hacemos clic en reemplazar los valores.
Se abre la ventana reemplazar los valores, en la ventana valor que buscar, ponemos _Ventas, y, en la ventana reemplazar con, la dejamos vacía.
Aceptamos.
Ya tenemos los nombres de las provincias.
Ahora, vamos a expandir, pues, hacemos clic en el botón de expandir.
Desmarcamos usar el nombre de columna original como prefijo.
Aceptamos.
Las columnas no han detectado el tipo de datos, por lo que pulsamos CTRL mas A, vamos a la pestaña transformar, y, dentro del grupo cualquier columna, hacemos clic en detectar tipo de datos.
Verificamos que el tipo de datos detectado es correcto, pero en la columna fecha, aparece tanto la fecha como la hora, y, no tenemos hora.
Pues, hacemos clic en el siguiente icono, y, seleccionamos fecha.
Seleccionamos la columna de cantidad, vamos a la pestaña de inicio, dentro del grupo transformar, desplegamos tipos de datos, y, seleccionamos numero entero.
Hacemos lo mismo para la columna de total.
Vemos que la ultima columna es la columna Name, donde aparece cada provincia.
Voy a cambiar el nombre a la consulta, para ello, en la ventana de la derecha, configuración de la consulta, en la ventana nombre, ponemos Datos.
También, en el panel de consultas puedo hacer doble clic sobre la consulta para cambiar el nombre.
También, en el panel de consultas, podemos hacer clic sobre la consulta, con botón alternativo de ratón, y, seleccionamos cambiar nombre.
Ahora, cerramos y cargamos.
En la ventana de la derecha, consultas y conexiones, tenemos nuestra consulta, con un total de 451 filas.
Si uso la función CONTARA, para contar la columna fecha de cada tabla.
=CONTARA(Sevilla_Ventas[Fecha]) + CONTARA(Cordoba_Ventas[Fecha])+CONTARA(Almeria_Ventas[Fecha])+CONTARA(Cadiz_Ventas[Fecha])
Obtengo 450 filas.
Pero, Power Query, nos devuelve 451 filas, es decir, una fila de más.
¿Por qué Power Query, devuelve una fila más?
Cuando hemos cargado la tabla en Excel, la columna Name, es el nombre de la tabla, si desplegamos el filtro de la columna Name, vemos que aparecen las provincias únicas, además, de la hoja Datos.
Esto hace, que cuando actualicemos, tengamos el doble de registros.
Hacemos doble clic en la consulta, para volver a Power Query.
Selecciono el nombre de la consulta, y, presiono CTRL más C, para copiar.
Despliego el filtro de la columna Name, despliego filtros de texto, y, selecciono no es igual a.
Se abre la ventana filtrar filas, en la ventana de la derecha de la ventana no es igual a, pegamos con CTRL mas V.
Aceptamos.
Si vamos a pasos aplicados, y, seleccionamos el paso origen, vemos que tenemos las tablas, excepto, la tabla de Datos, esto, anulara la tabla Datos, cuando cerremos y carguemos.
Volvemos a cerrar y cargar.
Vemos que ahora tenemos 450 filas, exactamente, el numero de filas que deberíamos de tener.
Comments