make_list() (função de agregação)
Cria uma dynamic
matriz de todos os valores de expr no grupo.
Os valores nulos são ignorados e não levam em conta o cálculo.
Observação
Essa função é usada em conjunto com o operador summarize.
Aliases preteridos: makelist()
Syntax
make_list(
expr [,
maxSize])
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Tipo | Obrigatório | 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 preterida tem um limite de maxSize padrão de 128.
Retornos
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 acompanhará a da entrada.
Dica
Use a array_sort_asc()
função ou array_sort_desc()
para criar uma lista ordenada por alguma chave.
Exemplos
Uma coluna
O exemplo a seguir faz 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
Mylist |
---|
["triângulo", "quadrado", "retângulo", "pentágono", "hexágono", "heptagono", "octógono","nonagon","decagon"] |
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 | Mylist |
---|---|
false | ["triângulo","pentágono","heptagon","nonagon"] |
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 | Mylist |
---|---|
false | [{"name":"triangle","sideCount":3},{"name":"pentágono","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}] |
Conteúdo relacionado
make_list_if
o operador é semelhante a make_list
, exceto que ele também aceita um predicado.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de