GitHubContribuisci in GitHub: Modifica in linea

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 nulldeve 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, datetimee timespan
  • 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 ().