Sdílet prostřednictvím


make_set() (agregační funkce)

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

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

Hodnoty Null se ignorují a nefaktorují do výpočtu.

Poznámka:

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

Zastaralé aliasy: makeset()

Syntaxe

make_set( výraz [, maxSize])

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

Parametry

Název Type Pož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 množiny jedinečných hodnot, které výraz přebírá ve skupině. Pořadí řazení pole není definováno.

Tip

Pokud chcete spočítat pouze jedinečné hodnoty, použijte dcount() nebo count_distinct().< a1/>.

Příklad

Nastavení ze skalárního sloupce

Následující příklad ukazuje sadu stavů seskupených se stejným množstvím poškození plodin.

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","GULF OF MEXICO","NEVADA","LOUISIANA","TENNESSEE","KENTUCKY","MISSISSIPPI","ALABAMA","GEORGIA","SOUTH CAROLINA","OHIO","NEW MEXICO","ATLANTIC SOUTH","NEW MEXICO","NEW ATLANTIC SOUTH","NEW HAMPSHIRE","ATLANTIC NORTH","NORTH DAKOTA","IOWA","NEBRASKA","WEST VIRGINIA","MARYLAND","KANSAS","MISSOURI","ARKANSAS","ARIZONA","MASSACHUSETTS","MAINE","CONNECTICUT","""MISSOURI","GUAM","HAWAII WATERS","AMERICAN SAMOA","LAKE 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","NORTH DAKOTA","WISCONSIN","VIRGINIA"]
3000000 ["KALIFORNIE","ILLINOIS","MISSOURI","JIŽNÍ KAROLÍNA","SEVERNÍ KAROLÍNA","MISSISSIPPI","NORTH DAKOTA","OHIO"]
14000000 ["KALIFORNIE","NORTH DAKOTA"]
400000 ["KALIFORNIE","MISSOURI","MISSISSIPPI","NEBRASKA","WISCONSIN","NORTH 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"]

Nastavit 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"]
  • Použijte mv-expand operátor pro opačnou funkci.
  • make_set_if operátor je podobný make_setoperátoru , s výjimkou toho, že přijímá také predikát.