Share via


make_set() (função de agregação)

Cria uma dynamic matriz do conjunto de valores distintos que o expr assume no grupo.

Os valores nulos são ignorados e não têm em conta o cálculo.

Nota

Esta função é utilizada em conjunto com o operador summarize.

Aliases preteridos: makeset()

Syntax

make_set(expr [,maxSize])

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Necessário Descrição
expr string ✔️ A expressão utilizada para o cálculo de agregação.
maxSize int O número máximo de elementos devolvidos. O valor predefinido e máximo é 1048576.

Nota

A versão preterida tem um limite de tamanho máximo predefinido de 128.

Devoluções

Devolve uma dynamic matriz do conjunto de valores distintos que expr assume no grupo. A sequência de ordenação da matriz não está definida.

Dica

Para contar apenas valores distintos, utilize dcount() ou count_distinct().

Exemplo

Definir a partir de uma coluna escalar

O exemplo seguinte mostra o conjunto de estados agrupados com a mesma quantidade de danos nas culturas.

StormEvents 
| summarize states=make_set(State) by DamageCrops

A tabela de resultados apresentada inclui apenas as primeiras 10 linhas.

DamageCrops estados
0 ["CAROLINA DO NORTE","WISCONSIN","NOVA IORQUE","ALASCA","DELAWARE","OKLAHOMA","INDIANA","ILLINOIS","MINNESOTA","DAKOTA DO SUL","TEXAS","UTAH","COLORADO","VERMONT","NEW JERSEY","VIRGINIA","CALIFORNIA","PENSILVÂNIA","MONTANA","WASHINGTON","WASHINGTON","OREGON","HAWAII","IDAHO","PORTO RICO","MICHIGAN","FLORIDA","WYOMING","GOLFO DO MÉXICO","NEVADA","LOUISIANA","TENNESSEE","KENTUCKY","MISSISSIPPI","ALABAMA","GEÓRGIA","CAROLINA DO SUL","OHIO","NOVO MÉXICO","SUL ATLÂNTICO","NOVO HAMPSHIRE","NORTE ATLÂNTICO","DAKOTA DO NORTE","IOWA","NEBRASKA","VIRGÍNIA OCIDENTAL","MARYLAND","KANSAS","MISSOURI","ARKANSAS","ARIZONA","MASSACHUSETTS","MAINE","CONNECTICUT","GUAM","ÁGUAS DO HAVAÍ","SAMOA AMERICANA","LAGO HURON","DISTRITO DE COLUMBIA","RHODE ISLAND","LAGO MICHIGAN","LAGO SUPERIOR","LAGO ST CLAIR","LAGO ERIE","LAGO"
30000 ["TEXAS","NEBRASKA","IOWA","MINNESOTA","WISCONSIN"]
4000000 ["CALIFÓRNIA","KENTUCKY","DAKOTA DO NORTE","WISCONSIN","VIRGINIA"]
3000000 ["CALIFÓRNIA","ILLINOIS","MISSOURI","CAROLINA DO SUL","CAROLINA DO NORTE","MISSISSIPPI","DAKOTA DO NORTE","OHIO"]
14000000 ["CALIFÓRNIA","DAKOTA DO NORTE"]
400000 ["CALIFÓRNIA","MISSOURI","MISSISSIPPI","NEBRASKA","WISCONSIN","DAKOTA DO NORTE"]
50000 ["CALIFÓRNIA","GEÓRGIA","NEBRASKA","TEXAS","VIRGÍNIA OCIDENTAL","KANSAS","MISSOURI","MISSISSIPPI","NOVO MÉXICO","IOWA","DAKOTA DO NORTE","OHIO","WISCONSIN","ILLINOIS","MINNESOTA","KENTUCKY"]
18000 ["WASHINGTON","WISCONSIN"]
107900000 ["CALIFÓRNIA"]
28900000 ["CALIFÓRNIA"]

Definir a partir da coluna de matriz

O exemplo seguinte mostra o conjunto de elementos numa 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"]
  • Utilize mv-expand o operador para a função oposta.
  • make_set_if operador é semelhante a make_set, exceto que também aceita um predicado.