Revisando acciones realizadas con Power Query me encontré un caso que PQ resolvía de manera muy simple: ordenar países en descendente según sus ventas acumuladas:
No es el caso de este post, pero los pasos en el editor de Power Query serían agrupar por País, y luego ordenar el resultado por el campo ventas.
El asunto es que pensé si era posible obtener lo mismo empleando las nuevas funciones desbordadas... y esto es lo que conseguí.
En H3 escribimos:
=ORDENARPOR(UNICOS(Tabla1[País]);SUMAR.SI(Tabla1[País];UNICOS(Tabla1[País]);Tabla1[Ventas]);-1)
lo cual desborda el listado de países ordenados por las ventas acumuladas en descendente (de mayor a menor)!!.
Recordemos la sintaxis de ORDENARPOR:
=ORDENARPOR(matriz; por_matriz1; [orden1];...)
es decir, ordenamos los elementos de la matriz del primer argumento, según los elementos de la segunda matriz (segundo argumento), en el orden establecido con el tercer argumento...
Con nuestra fórmula.
1er argumento: matriz de elementos/países únicos: UNICOS(Tabla1[País])
2do argumento: matriz sobre la que ordenar la anterior, i.e., las ventas acumuladas por país: SUMAR.SI(Tabla1[País];UNICOS(Tabla1[País]);Tabla1[Ventas])
3er argumento: el tipo de ordenación, -1 para descendente.
Lo interesante del ejercicio es ver cómo SUMAR.SI desborda los acumulados de cada país... Podemos visualizarlo si este SUMAR.SI lo insertamos en K3
Para 'rizar el rizo' podemos ver esos acumulados ordenados de mayor a menor si aplicamos ORDENAR:
=ORDENAR(SUMAR.SI($B$3:$B$14;UNICOS(Tabla1[País]);$C$3:$C$14);1;-1)
Así queda demostrado que con las funciones UNICOS, ORDENARPOR y la clásica SUMAR.SI obtenemos el listado de países ordenados de mayor a menor según las ventas acumuladas.
Adicionalmente hemos conseguido ver esos acumulados (aunque hay formas más simples de lograrlo).
No es el caso de este post, pero los pasos en el editor de Power Query serían agrupar por País, y luego ordenar el resultado por el campo ventas.
El asunto es que pensé si era posible obtener lo mismo empleando las nuevas funciones desbordadas... y esto es lo que conseguí.
En H3 escribimos:
=ORDENARPOR(UNICOS(Tabla1[País]);SUMAR.SI(Tabla1[País];UNICOS(Tabla1[País]);Tabla1[Ventas]);-1)
lo cual desborda el listado de países ordenados por las ventas acumuladas en descendente (de mayor a menor)!!.
Recordemos la sintaxis de ORDENARPOR:
=ORDENARPOR(matriz; por_matriz1; [orden1];...)
es decir, ordenamos los elementos de la matriz del primer argumento, según los elementos de la segunda matriz (segundo argumento), en el orden establecido con el tercer argumento...
Con nuestra fórmula.
1er argumento: matriz de elementos/países únicos: UNICOS(Tabla1[País])
2do argumento: matriz sobre la que ordenar la anterior, i.e., las ventas acumuladas por país: SUMAR.SI(Tabla1[País];UNICOS(Tabla1[País]);Tabla1[Ventas])
3er argumento: el tipo de ordenación, -1 para descendente.
Lo interesante del ejercicio es ver cómo SUMAR.SI desborda los acumulados de cada país... Podemos visualizarlo si este SUMAR.SI lo insertamos en K3
Para 'rizar el rizo' podemos ver esos acumulados ordenados de mayor a menor si aplicamos ORDENAR:
=ORDENAR(SUMAR.SI($B$3:$B$14;UNICOS(Tabla1[País]);$C$3:$C$14);1;-1)
Así queda demostrado que con las funciones UNICOS, ORDENARPOR y la clásica SUMAR.SI obtenemos el listado de países ordenados de mayor a menor según las ventas acumuladas.
Adicionalmente hemos conseguido ver esos acumulados (aunque hay formas más simples de lograrlo).