Condividi tramite


make_set() (funzione di aggregazione)

Crea una dynamic matrice del set di valori distinti che espr accetta nel gruppo.

I valori Null vengono ignorati e non vengono inseriti nel calcolo.

Nota

Questa funzione viene usata insieme all'operatore summarize.

Alias deprecati: makeset()

Sintassi

make_set(expr [, maxSize])

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
expr string ✔️ Espressione utilizzata per il calcolo dell'aggregazione.
maxSize int Numero massimo di elementi restituiti. Il valore predefinito e massimo è 1048576.

Nota

La versione deprecata ha un limite maxSize predefinito di 128.

Valori restituiti

Restituisce una dynamic matrice del set di valori distinti accettati nel gruppo. L'ordinamento della matrice non è definito.

Suggerimento

Per contare solo valori distinct, usare dcount() o count_distinct().

Esempio

Impostare da una colonna scalare

Nell'esempio seguente viene illustrato il set di stati raggruppati con la stessa quantità di danni alle colture.

StormEvents 
| summarize states=make_set(State) by DamageCrops

La tabella dei risultati mostrata include solo le prime 10 righe.

DamageCrops stati
0 ["CAROLINA DEL NORD","WISCONSIN","NEW YORK","ALASKA","DELAWARE","OKLAHOMA","INDIANA","ILLINOIS","SOUTH CAROLINA","TEXAS","UTAH","COLORADO","VERMONT","NEW JERSEY","VIRGINIA","CALIFORNIA","PENNSYLVANIA","MONTANA","WASHINGTON","OREGON","HAWAII","IDAHO","PUERTO RICO","MICHIGAN","FLORIDA","WYOMING","GOLFO DEL MESSICO","NEVADA","LOUISIANA","TENNESSEE","KENTUCKY","MISSISSIPPI","ALABAMA","GEORGIA","GEORGIA","OHIO","NEW MEXICO MICHIGAN","ATLANTIC NORTH","NORTH DAKOTA","IOWA","NEBRASKA","WEST VIRGINIA","MARYLAND","KANSAS","MISSOURI","ARKANSAS","ARIZONA","MASSACHUSETTS","MAINE","CONNECTICUT","GUAM","HAWAII WATERS","AMERICAN SAMOA","LAKE HURON","DISTRICT OF COLUMBIA","RHODE ISLAND","LAKE MICHIGAN","LAKE SUPERIOR","LAKE CLAIR","LAKE ERIE","LAKE ONTARIO","E PACIFIC","GULF OF ALASKA"]
30000 ["TEXAS","NEBRASKA","IOWA","MINNESOTA","WISCONSIN"]
4000000 ["CALIFORNIA","KENTUCKY","NORTH DAKOTA","WISCONSIN","VIRGINIA"]
3000000 ["CALIFORNIA","ILLINOIS","MISSOURI","CAROLINA DEL SUD","CAROLINA DEL NORD","MISSISSIPPI","NORTH CAROLINA","OHIO"]
14000000 ["CALIFORNIA","NORTH DAKOTA"]
400000 ["CALIFORNIA","MISSOURI","MISSISSIPPI","NEBRASKA","WISCONSIN","NORTH DAKOTA"]
50000 ["CALIFORNIA","GEORGIA","NEBRASKA","TEXAS","WEST VIRGINIA","KANSAS","MISSOURI","MISSISSIPPI","NEW MEXICO","IOWA","NORTH MINNESOTA","OHIO","WISCONSIN","ILLINOIS","MINNESOTA","KENTUCKY"]
18000 ["WASHINGTON","WISCONSIN"]
107900000 ["CALIFORNIA"]
28900000 ["CALIFORNIA"]

Imposta dalla colonna della matrice

Nell'esempio seguente viene illustrato il set di elementi in una matrice.

datatable (Val: int, Arr1: dynamic)
[
    1, dynamic(['A1', 'A2', 'A3']), 
    5, dynamic(['A2', 'C1']),
    7, dynamic(['C2', 'A3']),
    5, dynamic(['C2', 'A1'])
] 
| summarize Val_set=make_set(Val), Arr1_set=make_set(Arr1)
Val_set Arr1_set
[1,5,7] ["A1","A2","A3","C1","C2"]
  • Usare mv-expand l'operatore per la funzione opposta.
  • make_set_if l'operatore è simile a make_set, ad eccezione del fatto che accetta anche un predicato.