make_list () (funzione di aggregazione)make_list() (aggregation function)

Restituisce una matrice dynamic (JSON) di tutti i valori di Expr nel gruppo.Returns a dynamic (JSON) array of all the values of Expr in the group.

  • Può essere usato solo nel contesto dell'aggregazione all'interno di RiepilogoCan be used only in context of aggregation inside summarize

SintassiSyntax

summarize``make_list( Expr [ , MaxSize])summarize make_list(Expr [, MaxSize])

ArgomentiArguments

  • Expr: espressione che verrà utilizzata per il calcolo delle aggregazioni.Expr: Expression that will be used for aggregation calculation.
  • MaxSize è un limite Integer facoltativo per il numero massimo di elementi restituiti (il valore predefinito è 1048576).MaxSize is an optional integer limit on the maximum number of elements returned (default is 1048576). Il valore MaxSize non può essere maggiore di 1048576.MaxSize value cannot exceed 1048576.

Nota

Una variante legacy e obsoleta di questa funzione: makelist() ha un limite predefinito di MaxSize = 128.A legacy and obsolete variant of this function: makelist() has a default limit of MaxSize = 128.

RestituisceReturns

Restituisce una matrice dynamic (JSON) di tutti i valori di Expr nel gruppo.Returns a dynamic (JSON) array of all the values of Expr in the group. Se l'input dell' summarize operatore non è ordinato, l'ordine degli elementi nella matrice risultante non è definito.If the input to the summarize operator is not sorted, the order of elements in the resulting array is undefined. Se l'input per l' summarize operatore è ordinato, l'ordine degli elementi nella matrice risultante tiene traccia di quello dell'input.If the input to the summarize operator is sorted, the order of elements in the resulting array tracks that of the input.

Suggerimento

Usare l' mv-apply operatore per creare un elenco ordinato mediante una chiave.Use the mv-apply operator to create an ordered list by some key. Alcuni esempi sono disponibili qui.See examples here.

EsempiExamples

Una colonnaOne column

L'esempio più semplice consiste nel creare un elenco da una singola colonna:The simplest example is to make a list out of a single column:

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)
myListmylist
["Triangle", "Square", "Rectangle", "Pentagono", "Hexagon", "ettagono", "Octogon", "Nonagon", "decagono"]["triangle","square","rectangle","pentagon","hexagon","heptagon","octogon","nonagon","decagon"]

Uso della clausola ' by 'Using the 'by' clause

Nella query seguente si esegue il raggruppamento usando la by clausola:In the following query, you group using the by clause:

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
myListmylist isEvenSideCountisEvenSideCount
falsefalse ["Triangle", "Pentagono", "ettagono", "Nonagon"]["triangle","pentagon","heptagon","nonagon"]
truetrue ["Square", "Rectangle", "Hexagon", "Octogon", "decagono"]["square","rectangle","hexagon","octogon","decagon"]

Compressione di un oggetto dinamicoPacking a dynamic object

È possibile comprimere un oggetto dinamico in una colonna prima di creare un elenco, come illustrato nella query seguente:You can pack a dynamic object in a column before making a list out of it, as seen in the following query:

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
| extend d = pack("name", name, "sideCount", sideCount)
| summarize mylist = make_list(d) by isEvenSideCount = sideCount % 2 == 0
myListmylist isEvenSideCountisEvenSideCount
falsefalse [{"Name": "Triangle", "sideCount": 3}, {"Name": "Pentagono", "sideCount": 5}, {"Name": "ettagono", "sideCount": 7}, {"Name": "Nonagon", "sideCount": 9}][{"name":"triangle","sideCount":3},{"name":"pentagon","sideCount":5},{"name":"heptagon","sideCount":7},{"name":"nonagon","sideCount":9}]
truetrue [{"nome": "Square", "sideCount": 4}, {"Name": "Rectangle", "sideCount": 4}, {"Name": "Hexagon", "sideCount": 6}, {"Name": "Octogon", "sideCount": 8}, {"Name": "decagono", "sideCount": 10}][{"name":"square","sideCount":4},{"name":"rectangle","sideCount":4},{"name":"hexagon","sideCount":6},{"name":"octogon","sideCount":8},{"name":"decagon","sideCount":10}]

Vedere ancheSee also

make_list_if l'operatore è simile a make_list , ad eccezione del fatto che accetta anche un predicato.make_list_if operator is similar to make_list, except it also accepts a predicate.