Compartir a través de


array_sort_desc()

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft 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.

Sintaxis

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.

Parámetros

Nombre Type Obligatorio Descripción
array1... arrayN dynamic ✔️ Matriz o lista de matrices que se van a ordenar.
nulls_last bool Determina si nulldebe ser el último.

Devoluciones

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.

Si una matriz contiene elementos de distintos tipos, se ordena en el orden siguiente:

  • Elementos Numeric, datetime, y timespan
  • Elementos string
  • Elementos guid
  • Todos los demás elementos

Ejemplo 1: Ordenar dos matrices

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)

Ejemplo 2: Ordenación de subcadenas

let Names = "John, Paul, George, Ringo";
let SortedNames = strcat_array(array_sort_desc(split(Names, ",")), ",");
print result = SortedNames

Salida

resultado
Ringo, Paul, John, George

Ejemplo 3: combinación de resumen y 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]

Salida

user_id commands_in_chronological_order
user1 [
"rm",
"pwd",
"dir",
"chmod",
"mkdir",
"ls"
]
user2 [
"pwd",
"rm"
]

Nota:

Si los datos pueden contener null valores, use make_list_with_nulls en lugar de make_list.

Ejemplo 4: Control de la ubicación de null los valores

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_desc().

Ejemplo con comportamiento predeterminado:

print array_sort_desc(dynamic([null,"blue","yellow","green",null]))

Salida

print_0
["yellow","green","blue",null,null]

Ejemplo con comportamiento no predeterminado:

print array_sort_desc(dynamic([null,"blue","yellow","green",null]), false)

Salida

print_0
[null,null,"yellow","green","blue"]

Para ordenar la primera matriz en orden ascendente, use array_sort_asc().