Udostępnij za pośrednictwem


make_set() (funkcja agregacji)

Dotyczy: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Tworzy tablicę dynamic zestawu unikatowych wartości, które wyrażenie przyjmuje w grupie.

Wartości null są ignorowane i nie są uwzględniane w obliczeniach.

Uwaga

Ta funkcja jest używana w połączeniu z operatorem podsumowania.

Przestarzałe aliasy: makeset()

Składnia

make_set(expr [, maxSize])

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania opis
wyrażenie string ✔️ Wyrażenie używane do obliczania agregacji.
maxSize int Maksymalna liczba zwracanych elementów. Wartość domyślna i maksymalna to 1048576.

Uwaga

Przestarzała wersja ma domyślny limit maxSize 128.

Zwraca

Zwraca tablicę dynamic zestawu unikatowych wartości, które wyrażenie przyjmuje w grupie. Kolejność sortowania tablicy jest niezdefiniowana.

Napiwek

Aby liczyć tylko unikatowe wartości, użyj wartości dcount() lub count_distinct().

Przykład

Ustawianie z kolumny skalarnej

W poniższym przykładzie pokazano zestaw stanów pogrupowanych z taką samą ilością szkód uprawnych.

StormEvents 
| summarize states=make_set(State) by DamageCrops

Wyświetlona tabela wyników zawiera tylko pierwsze 10 wierszy.

DamageCrops Państw
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 MEXICO","NEW SOUTH","NEW HAMPSHIRE","ATLANTIC NORTH","NORTH DAKOTA","IOWA","NEBRASKA","WEST VIRGINIA","MARYLAND","KANSAS","MISSOURI","ARKANSAS","ARIZONA","MASSACHUSETTS","MAINE","CONNECTICUT"," GUAM","HAWAJE 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 ["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"]
10000 ["WASHINGTON","WISCONSIN"]
107900000 ["CALIFORNIA"]
28900000 ["CALIFORNIA"]

Ustawianie z kolumny tablicy

Poniższy przykład przedstawia zestaw elementów w tablicy.

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"]
  • Użyj mv-expand operatora dla funkcji przeciwległej.
  • make_set_if operator jest podobny do make_set, z wyjątkiem tego, że akceptuje również predykat.