Table.Group
Table.Group(table as table, key as any, aggregatedColumns as list, optional groupKind as nullable number, optional comparer as nullable function) as table
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
elemento de 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.
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"}
)