Table.Group

Sintaxis

Table.Group(table as table, key as any, aggregatedColumns as list, optional groupKind as nullable number, optional comparer as nullable function) as table

Acerca de

Agrupa las filas de table por las columnas de clave definidas por key. key puede ser un nombre de columna único o una lista de nombres de columna. Para cada grupo, se crea un registro que contiene las columnas de clave (y sus valores) y cualquier columna agregada especificada mediante aggregatedColumns. Opcionalmente, también se pueden especificar groupKind y comparer.

Si los datos ya están ordenados por las columnas de clave, se puede proporcionar un groupKind del GroupKind.Local. Esto puede mejorar el rendimiento de la agrupación en determinados casos, ya que se supone que todas las filas con un conjunto determinado de valores de clave son contiguas.

Al pasar un comparer, tenga en cuenta que si trata las claves diferentes como iguales, se puede colocar una fila en un grupo cuyas claves difieren de las suyas propias.

Esta función no garantiza el orden de las filas que devuelve.

Ejemplo 1

Agrupar la tabla mediante la adición de una columna agregada [total] que contiene la suma de precios ("each List.Sum([price])").

Uso

Table.Group(
    Table.FromRecords({
        [CustomerID = 1, price = 20],
        [CustomerID = 2, price = 10],
        [CustomerID = 2, price = 20],
        [CustomerID = 1, price = 10],
        [CustomerID = 3, price = 20],
        [CustomerID = 3, price = 5]
    }),
    "CustomerID",
    {"total", each List.Sum([price])}
)

Salida

Table.FromRecords(
    {
        [CustomerID = 1, total = 30],
        [CustomerID = 2, total = 30],
        [CustomerID = 3, total = 25]
    },
    {"CustomerID", "total"}
)