Partager via


array_sort_asc()

S’applique à : ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

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é.

Syntaxe

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

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

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
array1... arrayN dynamic ✔️ Tableau ou liste de tableaux à trier.
nulls_last bool Détermine s’il nulldoit être le 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 qui diffère de la longueur du premier.

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

  • Numériques, datetimeet timespan éléments
  • Éléments de chaîne
  • É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"]

Remarque

Les noms de 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 de synthèse et de 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"
]

Remarque

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