Honestamente, no he usado la función GROUPBY con demasiada frecuencia, principalmente porque hay varias formas de resolver problemas en LuckyTemplates usando otras funciones de tabla. Por ejemplo, he usado bastante la función RESUMEN para lograr las cosas que quería lograr.
Una cosa que hace que la función GROUPBY sea única es algún tipo de sintaxis.
Lo que es más importante, quiero presentar una nueva perspectiva de rendimiento mediante el uso de la función GROUPBY . Esta función DAX puede hacer que sus fórmulas sean mucho más rápidas, especialmente si tiene problemas menores de rendimiento con otras funciones de tabla.
La función intenta agrupar ciertas dimensiones en los datos. Va a crear una tabla, ya sea física o virtual, basada en los elementos dentro del modelo de datos.
En mi modelo, tengo datos para Ventas , Clientes , Fechas , Regiones de EE. UU . y Productos.
Puedo agrupar estos datos cuando coloco filtros de todas estas tablas diferentes. Por ejemplo, si quiero obtener información única por producto por estado, tendré que calcular el monto máximo de venta por producto por estado para un cliente en particular. Es difícil lograr ese análisis sin hacer algún tipo de agregación dentro de la función de calificación. Es por eso que les voy a enseñar otra forma de crear esa agregación además de usar la función .
Estudia la fórmula a continuación.
En primer lugar, necesito hacer referencia a una tabla. En este caso, hice referencia a la tabla de ventas porque necesito hacer referencia a cualquier otra dimensión de dos tablas de búsqueda diferentes. Esa es la razón por la que tengo Productos[Nombre de productos] en la fórmula, así como por estado. Esta parte de la fórmula combinará datos tanto por producto como por estado.
La parte interesante aquí es que en realidad no puedo colocar una medida dentro de esa parte. Tengo que usar una sintaxis similar a la función de iteración que he usado. Después de eso, mire dónde coloqué la función CURRENTGROUP en la fórmula.
Necesito ejecutar alguna lógica de iteración en cada fila en las tablas particulares que configuré. Desde una perspectiva de rendimiento, itera sobre la agrupación frente a cada una de las filas de la tabla Ventas . Estoy bastante seguro de que así es como funciona. Podría obtener más información al respecto después de realizar más pruebas, pero hasta ahora eso es todo lo que hace según la definición de Microsoft.
Te mostraré otra idea interesante. Si pongo una medida de ingresos en la fórmula, no devuelve un resultado y en realidad se muestra como un error. Esto solo significa que necesito escribirlo en una sintaxis de fórmula muy específica para obtener una nueva tabla.
Por último, puedo agrandar la mesa porque no está restringida. Incluso puedo agregar diferentes funciones y crear diferentes columnas usando una lógica similar.
Calculando la función GROUPBY dentro de una variable
Quiero volver a la fórmula Max Product Sales By State y mostrarles otra técnica.
En lugar de usar la función GROUPBY en una tabla de calculadora, puedo ponerla dentro de una variable. Esta vez, nombré la variable como ProductStates .
Usando esta fórmula, quiero encontrar los diferentes clientes en la misma tabla virtual y calcular las ventas máximas de productos por estado. Por lo tanto, voy a encontrar el monto de ventas más alto del cliente para un producto y luego veré los datos de cada estado diferente.
En primer lugar, haré la agregación y por eso coloqué la tabla virtual GROUPBY dentro de la función .
Después de eso, ejecutaré algunas funciones de iteración a través de la tabla virtual y luego calcularé las ventas en cada fila. La fórmula solo devolverá los resultados máximos ya que usé la tabla virtual agregada dentro de la función de iteración MAXX .
Vea lo que sucede cuando selecciono un cliente específico aquí.
Como se refleja en el informe, las ventas máximas de productos del cliente por estado es de alrededor de $68 000. Puede ver eso en la primera fila de la siguiente tabla. Además, los diferentes nombres de productos que el cliente compró, así como el estado, están visibles en la tabla. Las ventas totales solo para este cliente son de alrededor de $193,000.
Para otros clientes, la tabla devuelve siempre un resultado correcto. Con suerte, le brinda una buena descripción general de las cosas que puede hacer con la función GROUPBY .
Para los que queráis probar esto, os recomiendo jugar con las diferentes posibilidades de la función GROUPBY . Puede usarlo para crear algún tipo de agregación y ver qué surge.
Es una buena función, pero personalmente sigo prefiriendo usar la función RESUMEN porque me resulta más fácil. Sin embargo, esta es totalmente mi opinión personal. Siempre puede probar otra función y ver si le conviene según sus modelos.
Ciertamente espero que hayas aprendido algo sobre esta función en particular. No olvide consultar LuckyTemplates TV para ver muchos otros contenidos excelentes.