Freigeben über


make_set() (Aggregationsfunktion)

Erstellt ein dynamic Array der Gruppe mit unterschiedlichen Werten, die der Ausdruck in der Gruppe verwendet.

Nullwerte werden ignoriert und nicht in die Berechnung berücksichtigt.

Hinweis

Diese Funktion wird zusammen mit dem Zusammenfassungsoperator verwendet.

Veraltete Aliase: makeset()

Syntax

make_set( Ausdruck [, maxSize])

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type 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 der Maximalwert sind 1048576.

Hinweis

Die veraltete Version weist einen standardmäßigen maxSize-Grenzwert von 128 auf.

Gibt zurück

Gibt ein dynamic Array der Gruppe mit unterschiedlichen Werten zurück, die der Ausdruck in der Gruppe verwendet. 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 skalaren Spalte

Das folgende Beispiel zeigt die Gruppe von Zuständen, die mit der gleichen Menge an Zuschnittschä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","OHIO","INDIANA","ILLINOIS","MINNESOTA","SOUTH CAROLINA","TEXAS","UTAH","COLORADO","VERMONT","NEW JERSEY","VIRGINIA","CALIFORNIA","PENNSYLVANIA","UTAH","WASHINGTON","WASHINGTON", "OREGON","HAWAII","IDAHO","PUERTO RICO","MICHIGAN","FLORIDA","WYOMING","GOLF VON MEXIKO","NEVADA","ORLEANS","TENNESSEE","KENTUCKY","MISSOURI","MISSOURI","GEORGIA","SOUTH CAROLINA","OHIO","NEW MEXICO","ATLANTIC SOUTH","NEW MEXICO","NEW MEXICO","NEW BATH","ATLANTIC NORTH","NORTH CAROLINA","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","GOLF VON ALASKA"]
30.000 ["TEXAS";"NEBRASKA";"IOWA";"MINNESOTA";"WISCONSIN"]
4000000 ["CALIFORNIA","KENTUCKY","NORTH CAROLINA","WISCONSIN","VIRGINIA"]
3000000 ["CALIFORNIA","ILLINOIS","MISSOURI","SOUTH CAROLINA","NORTH CAROLINA","MISSISSIPPI","NORTH CAROLINA","NORTH CAROLINA","OHIO"]
14000000 ["CALIFORNIA";"NORTH CAROLINA"]
400000 ["CALIFORNIA","MISSOURI","MISSISSIPPI","NEBRASKA","WISCONSIN","NORTH CAROLINA"]
50000 ["CALIFORNIA","GEORGIA","NEBRASKA","TEXAS","WEST VIRGINIA","KANSAS","MISSOURI","MISSOURI","MISSOURI","NEW MEXICO","IOWA","NORTH CAROLINA","OHIO","WISCONSIN","ILLINOIS","MINNESOTA","KENTUCKY""]
18000 ["WASHINGTON";"WISCONSIN"]
107900000 ["CALIFORNIA"]
28900000 ["CALIFORNIA"]

Aus Matrixspalte 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 ist ähnlich make_setwie , außer es akzeptiert auch ein Prädikat.