Compartilhar via


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

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

Valores nulos são ignorados e não entram no cálculo.

Observação

Essa função é usada em conjunto com o operador summarize.

Aliases preteridos: makeset()

Sintaxe

make_set(expr [, maxSize])

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
expr string ✔️ A expressão usada para o cálculo de agregação.
maxTamanho int O número máximo de elementos retornados. O valor padrão e máximo é 1048576.

Observação

A versão preterida tem um limite maxSize padrão de 128.

Devoluções

Retorna uma dynamic matriz do conjunto de valores distintos que expr recebe no grupo. A ordem de classificação da matriz é indefinida.

Dica

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

Exemplo

Definir a partir de uma coluna escalar

O exemplo a seguir mostra o conjunto de estados agrupados com a mesma quantidade de danos à lavoura.

StormEvents 
| summarize states=make_set(State) by DamageCrops

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

DamageCrops states
0 ["CAROLINA DO NORTE","WISCONSIN","NOVA IORQUE","ALASKA","DELAWARE","OKLAHOMA","INDIANA","ILLINOIS","MINNESOTA","DAKOTA DO SUL","TEXAS","UTAH","COLORADO","VERMONT","NOVA JERSEY","VIRGÍNIA","CALIFÓRNIA","PENSILVÂNIA","MONTANA","WASHINGTON","OREGON","HAVAÍ","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","ATLÂNTICO SUL","NOVO HAMPSHIRE","ATLANTIC NORTH","DAKOTA DO NORTE","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"]
30000 ["TEXAS","NEBRASKA","IOWA","MINNESOTA","WISCONSIN"]
4.000.000 ["CALIFÓRNIA","KENTUCKY","DAKOTA DO NORTE","WISCONSIN","VIRGÍNIA"]
3000000 ["CALIFÓRNIA","ILLINOIS","MISSOURI","CAROLINA DO SUL","CAROLINA DO NORTE","MISSISSIPPI","DAKOTA DO NORTE","OHIO"]
14.000.000 ["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 a seguir mostra o conjunto de elementos em uma 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 operador para a função oposta.
  • make_set_if operador é semelhante ao make_set, exceto que também aceita um predicado.