Compartir a través de


make_set() (función de agregación)

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Crea una dynamic matriz del conjunto de valores distintos que expr toma en el grupo.

Los valores NULL se omiten y no tienen en cuenta el cálculo.

Nota:

Esta función se usa junto con el operador summarize.

Alias en desuso: makeset()

Sintaxis

make_set(expr [, maxSize])

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Type Obligatorio Descripción
expr string ✔️ Expresión usada para el cálculo de agregación.
maxSize int Número máximo de elementos devueltos. El valor predeterminado y máximo es 1048576.

Nota:

La versión en desuso tiene un límite de maxSize predeterminado de 128.

Devoluciones

Devuelve una dynamic matriz del conjunto de valores distintos que expr toma en el grupo. El criterio de ordenación de la matriz no está definido.

Sugerencia

Para contar solo valores distintos, use dcount() o count_distinct().

Ejemplo

Establecer desde una columna escalar

En el ejemplo siguiente se muestra el conjunto de estados agrupados con la misma cantidad de daño al recorte.

StormEvents 
| summarize states=make_set(State) by DamageCrops

La tabla de resultados que se muestra incluye solo las primeras 10 filas.

DamageCrops states
0 ["CAROLINA DEL NORTE","WISCONSIN","NUEVA YORK","ALASKA","DELAWARE","OKLAHOMA","INDIANA","ILLINOIS","MINNESOTA","DAKOTA DEL SUR","TEXAS","UTAH","COLORADO","COLORADO","NEW JERSEY","VIRGINIA","CALIFORNIA","PENNSYLVANIA","MONTANA","WASHINGTON","WASHINGTON"OREGÓN","HAWAII","HAWAII","PUERTO RICO","MICHIGAN","FLORIDA","WYOMING","GOLFO DE MÉXICO","NEVADA","LUISIANA","TENNESSEE","KENTUCKY","MISSISSIPPI","ALABAMA","GEORGIA","CAROLINA DEL SUR","OHIO","NUEVO MÉXICO","SUR ATLÁNTICO","NEW HAMPSHIRE","ATLANTIC NORTH","NORTH DAKOTA","IOWA","NEBRASKA","WEST VIRGINIA","MARYLAND","KANSAS","MISSOURI","ARKS","ARIZONA","MASSACHUSETTS","MAINE","CONNECTICUT","QUEBEC","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 ["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"]

Establecer desde la columna de matriz

En el ejemplo siguiente se muestra el conjunto de elementos de una matriz.

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"]
  • Use mv-expand el operador para la función opuesta.
  • make_set_if el operador es similar a make_set, excepto que también acepta un predicado.