Compartilhar via


make_list() (função de agregação)

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Cria uma dynamic matriz de todos os valores de expr no grupo.

Os valores nulos são ignorados e não são considerados no cálculo.

Observação

Essa função é usada em conjunto com o operador summarize.

Apelidos obsoletos: makelist()

Sintaxe

make_list(expr [, maxSize])

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
expr dynamic ✔️ A expressão usada para o cálculo de agregação.
maxSize int O número máximo de elementos retornados. O valor padrão e máximo é 1048576.

Observação

A versão obsoleta tem um limite maxSize padrão de 128.

Devoluções

Retorna uma dynamic matriz de todos os valores de expr no grupo. Se a entrada para o summarize operador não for classificada, a ordem dos elementos na matriz resultante será indefinida. Se a entrada para o summarize operador for classificada, a ordem dos elementos na matriz resultante rastreará a da entrada.

Dica

Use a array_sort_asc() função ou array_sort_desc() para criar uma lista ordenada por alguma tecla.

Exemplos

Uma coluna

O exemplo a seguir cria uma lista de uma única coluna:

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)

Saída

minha lista
["triângulo","quadrado","retângulo","pentágono","hexágono","heptágono","octógono","nonágono","decágono"]

Usando a cláusula 'by'

O exemplo a seguir executa uma consulta usando a 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

Saída

isEvenSideCount minha lista
false ["triângulo","pentágono","heptágono","nonágono"]
true ["quadrado","retângulo","hexágono","octógono","decágono"]

Empacotando um objeto dinâmico

Os exemplos a seguir mostram como empacotar um objeto dinâmico em uma coluna antes de torná-lo uma 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

Saída

isEvenSideCount minha lista
false [{"name":"triângulo","sideCount":3},{"name":"pentágono","sideCount":5},{"name":"heptagon","sideCount":7},{"name":"nonagon","sideCount":9}]
true [{"nome":"quadrado","sideCount":4},{"nome":"retângulo","sideCount":4},{"nome":"hexágono","sideCount":6},{"nome":"octógono","sideCount":8},{"nome":"decagon","sideCount":10}]

make_list_if é semelhante a make_list, exceto que também aceita um predicado.