top of page

Ejemplo con Table.SelectRows

Vamos a ver un ejemplo con la funcion Table.SelectRows, seguimos trabajando con las tres provincias de videos anteriores.


Queremos filtrar las tres provincias por un producto y un centro que seleccionemos.


En una hoja tenemos los productos, los centros, y los años.










He creado tres nombres de rangos, uno llamado centros que contiene los centros, otro llamado productos, que contiene los productos, y, otro llamado años que contiene los años.


En una hoja nueva, vamos a crear tres listas desplegables, una para centros, otra para productos, y, otra para años.


Vamos a crear la primera lista desplegable, para ello, en la celda A2, vamos a la pestaña de datos, dentro de herramientas de datos, hacemos clic en validación de datos.








Desplegamos permitir, y, seleccionamos lista, y, en la ventana origen, ponemos el signo igual seguido del nombre de rango a usar, si no nos acordamos del nombre de rango, podemos pulsar la tecla F3, donde se abrirá una ventana con todos los nombres de rangos creados, solo debemos de seleccionar el nuestro y hacer doble clic, o, pulsar aceptar.











Seguimos los pasos anteriores, y, añadimos dos listas más, una para centros, y, otra para productos,


Lo siguiente va a ser traernos la carpeta con los tres archivos, para ello, vamos a la pestaña datos, dentro de obtener y transformar, desplegamos obtener datos, desplegamos de un archivo, y, seleccionamos de una carpeta.
















Seleccionamos la carpeta y hacemos clic en abrir.


Aparece una ventana con diferentes columnas, como el nombre del archivo y la ruta entre otras.







Desplegamos combinar, y, seleccionamos combinar y transformar datos.







Igual que en videos anteriores, aparece la ventana de combinar archivos, donde vemos una carpeta llamada parametro1, y, un archivo de ejemplo.









En la ventana archivo de ejemplo, si desplegamos, vemos los tres archivos, y, ha tomado el primer archivo como ejemplo.









Seleccionamos la carpeta parametro1, y, aceptamos.


Igual que en videos anteriores, aparecen diferentes consultas, y, todo lo que hagamos en la consulta transformar archivo de ejemplo, afectara a la consulta 3 provincias.












Cerramos y cargamos como una conexión.


Con una celda dentro de la primera validación, vamos a la pestaña de datos, dentro de obtener y transformar, hacemos clic en de una tabla o rango.







Volvemos a cerrar y cargar como una conexión, y, nos traemos las dos listas desplegables restantes.


Seleccionaos la consulta producto, hacemos clic con botón alternativo de raton sobre la celda de la columna producto, y, seleccionamos rastrear desagrupando datos.











Ya tenemos el valor para poder ser usado.






Hacemos lo mismo para las consultas centros, y, años.


Seleccionamos la consulta transformar archivo de ejemplo.


Solo necesitamos la columna data, por lo que hago clic con botón alternativo de raton sobre dichas columnas, y, selecciono quitar otras columnas.






Hacemos clic en el siguiente icono para expandir la columna.






Seleccionamos todas las columnas y desmarcamos usar el nombre de columna original como prefijo.














Aceptamos.


Promovemos el encabezado, para ello, vamos a la pestaña transformar, y, hacemos clic en usar la primera fila como encabezado.









Agregamos un paso, para ello, hacemos clic en el siguiente icono:






Aparece el último paso, ahora, después del signo igual ponemos la funcion Table.SelectRows, y, abrimos un paréntesis.


El primer argumento es tabla, que es el paso anterior, ya sabemos que cada paso es una tabla.


= Table.SelectRows(#"Encabezados promovidos"


Coma, ponemos la Each (para cada).


= Table.SelectRows(#"Encabezados promovidos", each


Dejamos un espacio, entre corchetes ponemos la columna producto, y, la igualamos al valor de la consulta productos.


= Table.SelectRows(#"Encabezados promovidos", each [Producto]=productos


Dejamos un espacio, y, ponemos “and”, que es igual que el operador lógico Y en Excel, es decir, devuelve VERDADERO si todas las condiciones se cumplen.


= Table.SelectRows(#"Encabezados promovidos", each [Producto]=productos and


Entre corchetes ponemos la columna centro y la igualamos a la consulta centros.


= Table.SelectRows(#"Encabezados promovidos", each [Producto]=productos and [Centro]=centros


Dejamos un espacio, volvemos a poner “and”, en este caso, tenemos que trabajar con el año de la columna fecha, por lo que usamos la función Date.Year, y, entre paréntesis ponemos la columna fecha, y, la igualamos a la consulta años.


Cerramos paréntesis.


= Table.SelectRows(#"Encabezados promovidos", each [Producto]=productos and [Centro]=centros and Date.Year([Fecha])=años)


Aceptamos, y, vemos que ha sido filtrada la consulta por el producto, centro y año de las consultas productos, centros, y, años.




Cerramos y cargamos como una conexión.


Hacemos clic con botón alternativo de raton sobre la consulta 3 provincias y seleccionamos cargar en.












Se abre la ventana de importar datos, seleccionamos tabla y la colocamos junto con las listas desplegables.


Tenemos filtrada las tres provincias por el producto frigorífico, el centro Carrefour, y, el año 2020.












Voy a cambiar el producto.






Actualizo la consulta 3 provincias.












Ya tenemos nuestro modelo actualizado.


Pero, puede ocurrir que un producto solo se haya vendido en una de las provincias, pero la consulta 3 provincias, donde no hay ventas devolverá filas vacías, por lo que vamos a hacer doble clic en la consulta 3 provincias para volver a Power Query.


Desplegamos el filtro de columna total, desplegamos filtros de número, y, seleccionamos mayor que.

















Se abre la ventana filtrar filas, en la ventana de a la derecha de es mayor que, ponemos cero y aceptamos.










Volvemos a Excel, actualizamos la consulta, y, ya lo tenemos.



 
 
 

Comments


© 2019 Miguel Ángel Franco García

bottom of page