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

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

Os valores nulos são ignorados e não levam em conta o cálculo.

Observação

Essa função é usada 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 Obrigatório Descrição
expr string ✔️ A expressão usada para o cálculo de agregação.
Maxsize 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 de maxSize padrão de 128.

Retornos

Retorna uma dynamic matriz do conjunto de valores distintos que expr usa 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 na lavoura.

StormEvents 
| summarize states=make_set(State) by DamageCrops

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

DamageCrops estados
0 ["CAROLINA DO NORTE", "WISCONSIN", "NOVA YORK", "ALASCA", "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", "FLÓRIDA", "WYOMING", "GOLFO DO MÉXICO", "NEVADA", "LOUISIANA", "TENNESSEE", "KENTUCKY", "MISSISSIPPI", "ALABAMA", "GEÓRGIA", "CAROLINA DO SUL", "OHIO", "NOVO MÉXICO", "SUL DO ATLÂNTICO","NOVO HAMPSHIRE","ATLANTIC NORTH", "DAKOTA DO NORTE", "IOWA", "NEBRASKA", "VIRGÍNIA OCIDENTAL", "MARYLAND", "KANSAS", "MISSOURI","ARKANSAS","ARIZONA","MASSACHUSETTS","MAINE", "CONNECTICUT", "GUAM", "ÁGUAS DO HAVAÍ", "SAMOA AMERICANA", "LAKE HURON", "DISTRITO DE 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 ["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"]
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 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 o operador para a função oposta.
  • make_set_if o operador é semelhante a make_set, exceto que ele também aceita um predicado.