DAX Otro - función GROUPBY

Descripción

Devuelve una tabla con un conjunto de columnas seleccionadas. Permite que la función DAX CURRENTGROUP se utilice dentro de funciones de agregación en las columnas de extensión que agrega. GROUPBY intenta reutilizar los datos que se han agrupado para que tengan un alto rendimiento.

La función DAX GROUPBY es similar a la función DAX SUMMARIZE. Sin embargo, GROUPBY no realiza un CÁLCULO implícito para las columnas de extensión que agrega.

La función DAX GROUPBY es nueva en Excel 2016.

Sintaxis

GROUPBY (<table>, [<groupBy_columnName1>], [<name>, <expression>] …)

Parámetros

No Señor. Término y definición
1

table

Cualquier expresión DAX que devuelva una tabla de datos.

2

groupBy_columnName1

El nombre de una columna existente en la tabla (o en una tabla relacionada), por la cual se agruparán los datos.

Este parámetro no puede ser una expresión.

3

name

El nombre que se le da a una nueva columna que se agrega a la lista de columnas GroupBy, entre comillas dobles.

4

expression

Cualquier expresión DAX que devuelva un único valor escalar, donde la expresión se evaluará para cada conjunto de valores de GroupBy.

  • Puede incluir cualquiera de las funciones de agregación "X", como SUMX, AVERAGEX, MINX, MAXX, etc. y cuando una de estas funciones se usa de esta manera, el parámetro de tabla (que es una expresión de tabla) puede ser reemplazado por Función CURRENTGROUP. (Consulte la Sección de Comentarios para obtener más detalles).

  • Sin embargo, la función CURRENTGROUP solo se puede usar en el nivel superior de escaneos de tablas en la expresión. Eso significa,

    • ABS (SUMX (CURRENTGROUP (), [Column])) está permitido, ya que ABS no realiza un escaneo.

    • Pero, SUMX (<table>, SUMX (CURRENTGROUP ()…)) no está permitido.

  • La función DAX CALCULATE y los campos calculados no están permitidos en la expresión

Valor devuelto

Una tabla con las columnas seleccionadas para los parámetros groupBy_columnName y las columnas agrupadas por las designadas por los parámetros de nombre.

Observaciones

La función GROUPBY hace lo siguiente:

  • Comience con la tabla especificada (y todas las tablas relacionadas en la dirección "a uno").

  • Cree una agrupación utilizando todas las columnas GroupBy (que deben existir en la tabla del paso 1).

  • Cada grupo es una fila en el resultado, pero representa un conjunto de filas en la tabla original.

  • Para cada grupo, evalúe las columnas de extensión que se agregan. A diferencia de la función SUMMARIZE, no se realiza un CALCULATE implícito y el grupo no se coloca en el contexto del filtro.

Parámetros

  • Cada columna para la que defina un nombre debe tener una expresión correspondiente. De lo contrario, se devuelve un error.

    • El primer parámetro, nombre, define el nombre de la columna en los resultados. El segundo parámetro, expresión, define el cálculo realizado para obtener el valor de cada fila de esa columna.

    • Cada nombre debe ir entre comillas dobles.

  • groupBy_columnName debe estar en una tabla o en una tabla relacionada.

    • La función agrupa un conjunto seleccionado de filas en un conjunto de filas de resumen por los valores de una o más columnas groupBy_columnName. Se devuelve una fila para cada grupo.

CURRENTGROUP ()

  • La función CURRENTGROUP solo se puede usar en una expresión que define una columna dentro de la función GROUPBY.

  • CURRENTGROUP devuelve un conjunto de filas del parámetro de tabla de GROUPBY que pertenecen a la fila actual del resultado GROUPBY.

  • La función CURRENTGROUP no toma parámetros y solo se admite como primer parámetro para una de las siguientes funciones de agregación: AverageX, CountAX, CountX, GeoMeanX, MaxX, MinX, ProductX, StDevX.S, StDevX.P, SumX, VarX.S, VarX .PAGS.

Ejemplo

= GROUPBY ( 
   Sales,Sales[Salesperson],Products[Product],"Total Sales",  
   SUMX (CURRENTGROUP (),[Sales Amount]) 
)