array_sort_desc()
Recebe uma ou mais matrizes. Classifica a primeira matriz em ordem decrescente. Ordena as matrizes restantes de modo a corresponder à primeira matriz reordenada.
Syntax
array_sort_desc(
array1[, ..., argumentN])
array_sort_desc(
array1[, ..., argumentN],
nulls_last)
Se nulls_last não for fornecido, um valor padrão de true
será usado.
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
array1... arrayN | dynamic |
✔️ | A matriz ou lista de matrizes a serem classificadas. |
nulls_last | bool |
Determina se null s deve ser o último. |
Retornos
Retorna o mesmo número de matrizes que na entrada, com a primeira matriz classificada em ordem crescente e as matrizes restantes ordenadas para corresponder à primeira matriz reordenada.
null
é retornado para cada matriz que difere de comprimento do primeiro.
Se uma matriz contiver elementos de tipos diferentes, ela será classificada na seguinte ordem:
- Elementos numéricos,
datetime
etimespan
- Elementos de cadeia de caracteres
- Elementos guid
- Todos os outros elementos
Exemplo 1 – Classificação de duas matrizes
let array1 = dynamic([1,3,4,5,2]);
let array2 = dynamic(["a","b","c","d","e"]);
print array_sort_desc(array1,array2)
Saída
array1_sorted | array2_sorted |
---|---|
[5,4,3,2,1] | ["d","c","b","e","a"] |
Observação
Os nomes das colunas de saída são gerados automaticamente, com base nos argumentos para a função . Para atribuir nomes diferentes às colunas de saída, use a seguinte sintaxe: ... | extend (out1, out2) = array_sort_desc(array1,array2)
Exemplo 2 – Classificação de subcadeias de caracteres
let Names = "John, Paul, George, Ringo";
let SortedNames = strcat_array(array_sort_desc(split(Names, ",")), ",");
print result = SortedNames
Saída
result |
---|
Ringo, Paul, John, George |
Exemplo 3 – Combinando resumo e array_sort_desc
datatable(command:string, command_time:datetime, user_id:string)
[
'chmod', datetime(2019-07-15), "user1",
'ls', datetime(2019-07-02), "user1",
'dir', datetime(2019-07-22), "user1",
'mkdir', datetime(2019-07-14), "user1",
'rm', datetime(2019-07-27), "user1",
'pwd', datetime(2019-07-25), "user1",
'rm', datetime(2019-07-23), "user2",
'pwd', datetime(2019-07-25), "user2",
]
| summarize timestamps = make_list(command_time), commands = make_list(command) by user_id
| project user_id, commands_in_chronological_order = array_sort_desc(timestamps, commands)[1]
Saída
user_id | commands_in_chronological_order |
---|---|
user1 | [ "rm", "pwd", "dir", "chmod", "mkdir", "ls" ] |
user2 | [ "pwd", "rm" ] |
Observação
Se os dados puderem conter null
valores, use make_list_with_nulls em vez de make_list.
Exemplo 4 – Controlando o local dos null
valores
Por padrão, null
os valores são colocados por último na matriz classificada. No entanto, você pode controlá-lo explicitamente adicionando um bool
valor como o último argumento a array_sort_desc()
.
Exemplo com comportamento padrão:
print array_sort_desc(dynamic([null,"blue","yellow","green",null]))
Saída
print_0 |
---|
["amarelo", "verde", "azul", nulo,nulo] |
Exemplo com comportamento não padrão:
print array_sort_desc(dynamic([null,"blue","yellow","green",null]), false)
Saída
print_0 |
---|
[null,null,"yellow","green","blue"] |
Conteúdo relacionado
Para classificar a primeira matriz em ordem crescente, use array_sort_asc().
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de