make_set() (Aggregationsfunktion)

Erstellt ein dynamic Array der Gruppe unterschiedlicher Werte, die expr in die Gruppe einnimmt.

NULL-Werte werden ignoriert und nicht in die Berechnung einbezogen.

Hinweis

Diese Funktion wird in Verbindung mit dem summarize-Operator verwendet.

Veraltete Aliase: makeset()

Syntax

make_set(expr [,maxSize])

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich BESCHREIBUNG
expr string ✔️ Der Ausdruck, der für die Aggregationsberechnung verwendet wird.
Maxsize int Die maximale Anzahl der zurückgegebenen Elemente. Der Standardwert und max-Wert ist 1048576.

Hinweis

Für die veraltete Version gilt ein MaxSize-Standardlimit von 128.

Gibt zurück

Gibt ein dynamic Array der Gruppe unterschiedlicher Werte zurück, die expr in der Gruppe akzeptiert. Die Sortierreihenfolge des Arrays ist nicht definiert.

Tipp

Verwenden Sie dcount() oder count_distinct(), um nur unterschiedliche Werte zu zählen.

Beispiel

Festlegen aus einer Skalarspalte

Das folgende Beispiel zeigt den Satz von Zuständen, die mit der gleichen Menge an Ernteschäden gruppiert sind.

StormEvents 
| summarize states=make_set(State) by DamageCrops

Die angezeigte Ergebnistabelle enthält nur die ersten 10 Zeilen.

DamageCrops states
0 ["NORTH CAROLINA","WISCONSIN","NEW YORK","ALASKA","DELAWARE","OKLAHOMA","INDIANA","ILLINOIS","MINNESOTA","SOUTH DAKOTA","TEXAS","UTAH","COLORADO","VERMONT","NEW JERSEY","VIRGINIA","CALIFORNIA","PENNSYLVANIA","MONTANA","WASHINGTON","OREGON","HAWAII","IDAHO","PUERTO RICO","MICHIGAN","FLORIDA","WYOMING","GULF OF MEXICO","NEVADA","LOUISIANA","TENNESSEE","KENTUCKY","MISSISSIPPI","ALABAMA","GEORGIA","SOUTH CAROLINA","OHIO","NEW MEXICO","ATLANTIC SOUTH","NEW HAMPSHIRE","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 ST CLAIR","LAKE ERIE","LAKE ONTARIO","E PACIFIC","GULF OF ALASKA"]
30.000 ["TEXAS","NEBRASKA","IOWA","MINNESOTA","WISCONSIN"]
4000000 ["CALIFORNIA","KENTUCKY","NORTH DAKOTA","WISCONSIN","VIRGINIA"]
3000000 ["CALIFORNIA","ILLINOIS","MISSOURI","SOUTH CAROLINA","NORTH CAROLINA","MISSISSIPPI","NORTH DAKOTA","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 DAKOTA","OHIO","WISCONSIN","ILLINOIS","MINNESOTA","KENTUCKY"]
18000 ["WASHINGTON","WISCONSIN"]
107900000 ["CALIFORNIA"]
28900000 ["CALIFORNIA"]

Aus Arrayspalte festlegen

Das folgende Beispiel zeigt den Satz von Elementen in einem Array.

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"]
  • Verwenden Sie mv-expand den Operator für die entgegengesetzte Funktion.
  • make_set_if -Operator ähnelt make_set, außer dass er auch ein Prädikat akzeptiert.