make_set() (agregační funkce)

dynamic Vytvoří pole sady jedinečných hodnot, které výraz přebírá ve skupině.

Hodnoty null se ignorují a nezapočítávají se do výpočtu.

Poznámka

Tato funkce se používá ve spojení s operátorem summarize.

Zastaralé aliasy: makeset()

Syntax

make_set(výraz [,maxSize])

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
Výraz string ✔️ Výraz použitý pro výpočet agregace.
maxSize int Maximální počet vrácených prvků Výchozí a maximální hodnota je 1048576.

Poznámka

Zastaralá verze má výchozí limit maxSize 128.

Návraty

dynamic Vrátí pole sady jedinečných hodnot, které výraz přebírá ve skupině. Pořadí řazení pole není definováno.

Tip

Pokud chcete spočítat jenom jedinečné hodnoty, použijte dcount() nebo count_distinct().

Příklad

Nastavení ze skalárního sloupce

Následující příklad ukazuje sadu stavů seskupených se stejnou velikostí poškození plodiny.

StormEvents 
| summarize states=make_set(State) by DamageCrops

Zobrazená tabulka výsledků obsahuje pouze prvních 10 řádků.

DamageCrops Státy
0 ["SEVERNÍ KAROLÍNA","WISCONSIN","NEW YORK","ALJAŠKA","DELAWARE","OKLAHOMA","INDIANA","ILLINOIS","MINNESOTA","SOUTH DAKOTA","TEXAS","UTAH","COLORADO","VERMONT","NEW JERSEY","VIRGINIA","CALIFORNIA","PENNSYLVANIA","MONTANA","WASHINGTON","OREGON"," "HAVAJ","IDAHO","PORTORIKO","MICHIGAN","FLORIDA","WYOMING","MEXICKÝ ZÁLIV","NEVADA","LOUISIANA","TENNESSEE","KENTUCKY","MISSISSIPPI","ALABAMA","GEORGIA","JIŽNÍ KAROLÍNA","OHIO","NOVÉ MEXIKO","ATLANTICKÝ JIH","NEW HAMPSHIRE","ATLANTIC NORTH","NORTH DAKOTA","IOWA","NEBRASKA","WEST VIRGINIA","MARYLAND","KANSAS","MISSOURI","ARKANSAS","ARIZONA","MASSACHUSETTS","MAINE","CONNECTICUT","CONNECTICUT"," GUAM","HAVAJSKÉ VODY","AMERICKÁ SAMOA","JEZERO HURON","DISTRICT OF COLUMBIA","RHODE ISLAND","LAKE MICHIGAN","LAKE SUPERIOR","LAKE ST CLAIR","LAKE ERIE","LAKE ONTARIO","E PACIFIC","GULF OF ALASKA"]
30000 ["TEXAS","NEBRASKA","IOWA","MINNESOTA","WISCONSIN"]
4000000 ["KALIFORNIE","KENTUCKY","SEVERNÍ DAKOTA","WISCONSIN","VIRGINIA"]
3000000 ["KALIFORNIE","ILLINOIS","MISSOURI","JIŽNÍ KAROLÍNA","SEVERNÍ KAROLÍNA","MISSISSIPPI","SEVERNÍ DAKOTA","OHIO"]
14000000 ["KALIFORNIE","SEVERNÍ DAKOTA"]
400000 ["KALIFORNIE","MISSOURI","MISSISSIPPI","NEBRASKA","WISCONSIN","SEVERNÍ DAKOTA"]
50000 ["KALIFORNIE","GEORGIA","NEBRASKA","TEXAS","WEST VIRGINIA","KANSAS","MISSOURI","MISSISSIPPI","NEW MEXICO","IOWA","NORTH DAKOTA","OHIO","WISCONSIN","ILLINOIS","MINNESOTA","KENTUCKY"]
18000 ["WASHINGTON","WISCONSIN"]
107900000 ["KALIFORNIE"]
28900000 ["KALIFORNIE"]

Nastavení ze sloupce pole

Následující příklad ukazuje sadu prvků v poli.

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"]
  • Pro opačnou funkci použijte mv-expand operátor.
  • make_set_if operátor je podobný operátoru make_sets tím rozdílem, že přijímá také predikát.