make_list () (función de agregación)
Devuelve una matriz dynamic (JSON) de todos los valores de Expr en el grupo.
- Sólo se puede utilizar en contexto de agregación dentro de resumir
Sintaxis
make_list (Expr [, MaxSize])
Argumentos
- Expr: expresión que se utilizará para el cálculo de agregación.
- MaxSize es un límite de enteros opcional en el número máximo de elementos devueltos (el valor predeterminado es 1048576). El valor de MaxSize no puede exceder de 1048576.
Devoluciones
Devuelve una matriz dynamic (JSON) de todos los valores de Expr en el grupo. Si la entrada al operador summarize no está ordenada, el orden de los elementos de la matriz resultante no está definido. Si la entrada al operador summarize está ordenada, el orden de los elementos de la matriz resultante rastrea el de la entrada.
[!TIP] Utilice la función
array_sort_asc()oarray_sort_desc()para crear una lista ordenada por alguna clave.
Ejemplos
una columna
El ejemplo más sencillo es hacer una lista a partir de una sola columna:
let shapes = datatable (name: string, sideCount: int)
[
"triangle", 3,
"square", 4,
"rectangle", 4,
"pentagon", 5,
"hexagon", 6,
"heptagon", 7,
"octogon", 8,
"nonagon", 9,
"decagon", 10
];
shapes
| summarize mylist = make_list(name)
| milista |
|---|
| ["triángulo", "cuadrado", "rectángulo", "pentágono", "hexágono", "heptágono", "octogón", "nonagón", "decagón"] |
Utilización de la cláusula 'by'
En la consulta siguiente, agrupe utilizando la cláusula by :
let shapes = datatable (name: string, sideCount: int)
[
"triangle", 3,
"square", 4,
"rectangle", 4,
"pentagon", 5,
"hexagon", 6,
"heptagon", 7,
"octogon", 8,
"nonagon", 9,
"decagon", 10
];
shapes
| summarize mylist = make_list(name) by isEvenSideCount = sideCount % 2 == 0
| isEvenSideCount | milista |
|---|---|
| false | ["triángulo", "pentágono", "heptagón", "nonagón"] |
| true | ["cuadrado", "rectángulo", "hexágono", "octogón", "decagón"] |
Consulte también
El operador make_list_if es similar a make_list, excepto que también acepta un predicado.