array_sort_desc()

Riceve una o più matrici. Ordina la prima matrice in ordine decrescente. Ordina le matrici rimanenti in modo che corrispondano alla prima matrice riordinata.

Sintassi

array_sort_desc(array1[, ..., argumentN])

array_sort_desc(array1[, ..., argumentN],nulls_last)

Se non viene specificato nulls_last , viene usato un valore predefinito di true .

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
matrice1... arrayN dynamic ✔️ Matrice o elenco di matrici da ordinare.
nulls_last bool Determina se nulldeve essere l'ultimo.

Restituisce

Restituisce lo stesso numero di matrici dell'input, con la prima matrice ordinata in ordine crescente e le matrici rimanenti ordinate in modo che corrispondano alla prima matrice riordinata.

null viene restituito per ogni matrice diversa dalla prima.

Se una matrice contiene elementi di tipi diversi, viene ordinato nell'ordine seguente:

  • Elementi numerici, datetime, e timespan
  • Elementi stringa
  • Elementi GUID
  • Tutti gli altri elementi

Esempio 1 - Ordinamento di due matrici

let array1 = dynamic([1,3,4,5,2]);
let array2 = dynamic(["a","b","c","d","e"]);
print array_sort_desc(array1,array2)

Output

array1_sorted array2_sorted
[5,4,3,2,1] ["d","c","b","e","a"]

Nota

I nomi delle colonne di output vengono generati automaticamente, in base agli argomenti della funzione. Per assegnare nomi diversi alle colonne di output, usare la sintassi seguente: ... | extend (out1, out2) = array_sort_desc(array1,array2)

Esempio 2 - Ordinamento di sottostringhe

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

Output

result
Ringo, Paul, John, George

Esempio 3- Combinazione di riepilogo 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]

Output

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

Nota

Se i dati possono contenere null valori, usare make_list_with_nulls anziché make_list.

Esempio 4 - Controllo della posizione dei null valori

Per impostazione predefinita, null i valori vengono inseriti nella matrice ordinata. È tuttavia possibile controllarlo in modo esplicito aggiungendo un bool valore come ultimo argomento a array_sort_desc().

Esempio con comportamento predefinito:

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

Output

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

Esempio con comportamento non predefinito:

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

Output

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

Per ordinare la prima matrice in ordine crescente, usare array_sort_asc().