Partager via


array_sort_asc()

Reçoit un ou plusieurs tableaux. Trie le premier tableau par ordre croissant. Classe les tableaux restants pour qu’ils correspondent au premier tableau retrié.

Syntax

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

Si nulls_last n’est pas fourni, une valeur par défaut est true utilisée.

Découvrez les conventions de syntaxe.

Paramètres

Nom Type Obligatoire Description
array1... arrayN dynamic ✔️ Tableau ou liste de tableaux à trier.
nulls_last bool Détermine si nulls doit être en dernier.

Retours

Retourne le même nombre de tableaux que dans l’entrée, avec le premier tableau trié dans l’ordre croissant et les tableaux restants ordonnés pour correspondre au premier tableau réorganisé.

null est retourné pour chaque tableau dont la longueur diffère du premier.

Si un tableau contient des éléments de types différents, il est trié dans l’ordre suivant :

  • Éléments numériques, datetime, et timespan
  • Éléments string
  • Éléments GUID
  • Tous les autres éléments

Exemple 1 - Tri de deux tableaux

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

Sortie

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

Notes

Les noms des colonnes de sortie sont générés automatiquement, en fonction des arguments de la fonction. Pour affecter différents noms aux colonnes de sortie, utilisez la syntaxe suivante : ... | extend (out1, out2) = array_sort_asc(array1,array2)

Exemple 2 - Tri des sous-chaînes

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

Sortie

result
George,John,Paul,Ringo

Exemple 3 - Combinaison d’un résumé et d’une 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]

Sortie

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

Notes

Si vos données peuvent contenir des null valeurs, utilisez make_list_with_nulls au lieu de make_list.

Exemple 4 - Contrôle de l’emplacement des null valeurs

Par défaut, null les valeurs sont placées en dernier dans le tableau trié. Toutefois, vous pouvez le contrôler explicitement en ajoutant une bool valeur comme dernier argument à array_sort_asc().

Exemple avec le comportement par défaut :

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

Sortie

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

Exemple avec un comportement différent de la valeur par défaut :

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

Sortie

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

Pour trier le premier tableau dans l’ordre décroissant, utilisez array_sort_desc().