Share via


array_sort_asc()

Riceve una o più matrici. Ordina la prima matrice in ordine crescente. Ordina le matrici rimanenti per corrispondere alla prima matrice riordinata.

Sintassi

array_sort_asc(array1[, ..., arrayN][,nulls_last])

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

Altre informazioni sulle convenzioni di sintassi.

Parametri

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

Restituisce

Restituisce lo stesso numero di matrici dell'input, con la prima matrice ordinata in ordine crescente e le matrici rimanenti ordinate per corrispondere 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_asc(array1,array2)

Output

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

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_asc(array1,array2)

Esempio 2 - Ordinamento di sottostringa

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

Output

result
George,John,Paul,Ringo

Esempio 3 - Combinazione di riepilogo e array_sort_asc

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_asc(timestamps, commands)[1]

Output

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

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

Esempio con comportamento predefinito:

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

Output

print_0
["blu","verde","giallo",null,null]

Esempio con comportamento non predefinito:

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

Output

print_0
[null,null,"blu","verde","giallo"]

Per ordinare la prima matrice in ordine decrescente, usare array_sort_desc().