array_sort_asc ()
Riceve uno o più array. Ordina la prima schiera in ordine crescente. Ordina gli array rimanenti in modo che corrispondano al primo array riordinato.
Sintassi
array_sort_asc(
array1[, ..., argumentN])
array_sort_asc(
array1[, ..., argumentN],
nulls_last)
Se nulls_last non viene fornito, viene utilizzato il valore predefinito true
.
Argomenti
- array1 ... arrayN: array di input.
- nulls_last: un valore bool che indica se
null
deve essere l'ultimo
Restituisce
Restituisce lo stesso numero di array come nell'input, con il primo array ordinato in ordine crescente e i restanti array ordinati per corrispondere al primo array riordinato.
null
verrà restituito per ogni array la cui lunghezza è diversa dalla prima.
Se un array contiene elementi di tipi differenti, verrà ordinato nel seguente ordine:
- Elementi numerici,
datetime
etimespan
- Elementi stringa
- Elementi Guid
- Tutti gli altri elementi
Esempio 1 - Ordinamento di due array
let array1 = dynamic([1,3,4,5,2]);
let array2 = dynamic(["a","b","c","d","e"]);
print array_sort_asc(array1,array2)
Risultati
array1_sorted |
array2_sorted |
---|---|
[ 1,2,3,4, 5] | [ "a", "e", "b", "c", "d"] |
I nomi delle colonne di output vengono generati automaticamente, in base agli argomenti della funzione. Per assegnare nomi differenti alle colonne di output, utilizzare la sintassi seguente: ... | extend (out1, out2) = array_sort_asc(array1,array2)
Esempio 2 - Ordinamento di sottostringhe
let Names = "John,Paul,George,Ringo";
let SortedNames = strcat_array(array_sort_asc(split(Names, ",")), ",");
print result = SortedNames
Risultati
result |
---|
Giorgio, Giovanni, Paolo, Ringo |
Esempio 3 - Combinazione di summarize 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]
Risultati
user_id |
commands_in_chronological_order |
---|---|
user1 | [ "ls", "mkdir", "chmod", "dir", "pwd", "rm" ] |
user2 | [ "rm", " pwd ] |
Se i dati contengono valori null
, utilizzare make_list_with_nulls invece di make_list.
Esempio 4 - Controllo dell'ubicazione dei valori null
Per impostazione predefinita, i valori null
vengono inseriti per ultimi nell'array ordinato. Tuttavia, è possibile controllarlo esplicitamente aggiungendo un valore bool
come ultimo argomento a array_sort_asc()
.
Esempio con comportamento predefinito:
print array_sort_asc(dynamic([null,"blue","yellow","green",null]))
Risultati
print_0 |
---|
[ "blu", "verde", "giallo", null, null] |
Esempio con comportamento non predefinito:
print array_sort_asc(dynamic([null,"blue","yellow","green",null]), false)
Risultati
print_0 |
---|
[ null, null, "blu", "verde", "giallo"] |
Vedi anche
Per ordinare il primo array in ordine decrescente, utilizzare array_sort_desc ().