array_sort_desc()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Recibe una o más matrices. Ordena la primera matriz en orden descendente. Ordena las matrices restantes para que coincidan con la primera matriz reordenada.
array_sort_desc(
array1[, ..., argumentN])
array_sort_desc(
array1[, ..., argumentN],
nulls_last)
Si no se proporciona nulls_last , se usa un valor predeterminado de true
.
Obtenga más información sobre las convenciones de sintaxis.
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
array1... arrayN | dynamic |
✔️ | Matriz o lista de matrices que se van a ordenar. |
nulls_last | bool |
Determina si null debe ser el último. |
Devuelve el mismo número de matrices que en la entrada, con la primera matriz ordenada en orden ascendente y las matrices restantes ordenadas para que coincidan con la primera matriz reordenada.
null
se devuelve para cada matriz que difiere en longitud de la primera.
Una matriz que contiene elementos de diferentes tipos, se ordena en el orden siguiente:
- Elementos Numeric,
datetime
, ytimespan
- Elementos string
- Elementos guid
- Todos los demás elementos
Los ejemplos de esta sección muestran cómo usar la sintaxis para ayudarle a empezar.
En el ejemplo siguiente se ordena la matriz inicial, array1
, en orden descendente. A continuación, ordena array2
para que coincida con el nuevo orden de array1
.
let array1 = dynamic([1,3,4,5,2]);
let array2 = dynamic(["a","b","c","d","e"]);
print array_sort_desc(array1,array2)
Salida
array1_sorted | array2_sorted |
---|---|
[5,4,3,2,1] | ["d","c","b","e","a"] |
Nota
Los nombres de columna de salida se generan automáticamente, en función de los argumentos de la función. Para asignar nombres diferentes a las columnas de salida, use la sintaxis siguiente: ... | extend (out1, out2) = array_sort_desc(array1,array2)
.
En el ejemplo siguiente se ordena una lista de nombres en orden descendente. Guarda una lista de nombres en una variable, Names
, que luego se divide en una matriz y se ordena en orden descendente. La consulta devuelve los nombres en orden descendente.
let Names = "John,Paul,Jane,Kayo";
let SortedNames = strcat_array(array_sort_desc(split(Names, ",")), ",");
print result = SortedNames
Salida
resultado |
---|
Paul,Kayo,John,Jane |
En el ejemplo siguiente se usa el operador summarize
y la función array_sort_asc
para organizar y ordenar comandos por usuario en orden cronológico descendente.
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]
Salida
user_id | commands_in_chronological_order |
---|---|
user1 | [ "rm", "pwd", "dir", "chmod", "mkdir", "ls" ] |
user2 | [ "pwd", "rm" ] |
Nota
Si los datos pueden contener valores de null
, use make_list_with_nulls en lugar de make_list.
De forma predeterminada, null
los valores se colocan por último en la matriz ordenada. Sin embargo, puede controlarlo explícitamente agregando un bool
valor como último argumento a array_sort_asc()
.
En el ejemplo siguiente se muestra el comportamiento predeterminado:
print result=array_sort_desc(dynamic([null,"blue","yellow","green",null]))
Salida
resultado |
---|
["yellow","green","blue",null,null] |
En el ejemplo siguiente se muestra el comportamiento no predeterminado mediante el parámetro false
, que especifica que los valores NULL se colocan al principio de la matriz.
print result=array_sort_desc(dynamic([null,"blue","yellow","green",null]), false)
Salida
resultado |
---|
[null,null,"yellow","green","blue"] |