make_list() (función de agregación)
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Crea una dynamic
matriz de todos los valores de expr en el grupo.
Los valores NULL se omiten y no tienen en cuenta el cálculo.
Nota:
Esta función se usa junto con el operador summarize.
Alias en desuso: makelist()
Sintaxis
make_list(
expr [,
maxSize])
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
expr | dynamic |
✔️ | Expresión usada para el cálculo de agregación. |
maxSize | int |
Número máximo de elementos devueltos. El valor predeterminado y máximo es 1048576. |
Nota:
La versión en desuso tiene un límite de maxSize predeterminado de 128.
Devoluciones
Devuelve una dynamic
matriz de todos los valores de expr del grupo.
Si la entrada al summarize
operador no está ordenada, el orden de los elementos de la matriz resultante no está definido.
Si se ordena la entrada al summarize
operador, el orden de los elementos de la matriz resultante realiza un seguimiento de la entrada.
Sugerencia
Use la array_sort_asc()
función o array_sort_desc()
para crear una lista ordenada por alguna clave.
Ejemplos
Una columna
En el ejemplo siguiente se crea una lista de una sola columna:
let shapes = datatable (name: string, sideCount: int)
[
"triangle", 3,
"square", 4,
"rectangle", 4,
"pentagon", 5,
"hexagon", 6,
"heptagon", 7,
"octagon", 8,
"nonagon", 9,
"decagon", 10
];
shapes
| summarize mylist = make_list(name)
Salida
mylist |
---|
["triángulo","cuadrado","rectángulo","pentágono","heptagon","octágon","nonagon","decagon"] |
Uso de la cláusula 'by'
En el ejemplo siguiente se ejecuta una consulta mediante la by
cláusula :
let shapes = datatable (name: string, sideCount: int)
[
"triangle", 3,
"square", 4,
"rectangle", 4,
"pentagon", 5,
"hexagon", 6,
"heptagon", 7,
"octagon", 8,
"nonagon", 9,
"decagon", 10
];
shapes
| summarize mylist = make_list(name) by isEvenSideCount = sideCount % 2 == 0
Salida
isEvenSideCount | mylist |
---|---|
false | ["triángulo","pentágono","heptagon","nonagon"] |
true | ["square","rectangle","hexagon","octagon","decagon"] |
Empaquetado de un objeto dinámico
En los ejemplos siguientes se muestra cómo empaquetar un objeto dinámico en una columna antes de convertirlo en una lista.
let shapes = datatable (name: string, sideCount: int)
[
"triangle", 3,
"square", 4,
"rectangle", 4,
"pentagon", 5,
"hexagon", 6,
"heptagon", 7,
"octagon", 8,
"nonagon", 9,
"decagon", 10
];
shapes
| extend d = bag_pack("name", name, "sideCount", sideCount)
| summarize mylist = make_list(d) by isEvenSideCount = sideCount % 2 == 0
Salida
isEvenSideCount | mylist |
---|---|
false | [{"name":"triangle","sideCount":3},{"name":"penta","sideCount":5},{"name":"heptagon","sideCount":7},{"name":"nonagon","sideCount":9}] |
true | [{"name":"square","sideCount":4},{"name":"rectangle","sideCount":4},{"name":"hexagon","sideCount":6},{"name":"octagon","sideCount":8},{"name":"decagon","sideCount":10}] |
Contenido relacionado
make_list_if
el operador es similar a make_list
, excepto que también acepta un predicado.