array_sort_desc()
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Reçoit un ou plusieurs tableaux. Trie le premier tableau par ordre décroissant. Classe les tableaux restants pour qu’ils correspondent au premier tableau retrié.
Syntaxe
array_sort_desc(
array1[, ..., argumentN])
array_sort_desc(
array1[, ..., argumentN],
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 null doit ê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,
datetime
ettimespan
é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_desc(array1,array2)
Sortie
array1_sorted | array2_sorted |
---|---|
[5,4,3,2,1] | ["d »,"c »,"b »,"e »,"a"] |
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_desc(array1,array2)
Exemple 2 : tri des sous-chaînes
let Names = "John, Paul, George, Ringo";
let SortedNames = strcat_array(array_sort_desc(split(Names, ",")), ",");
print result = SortedNames
Sortie
result |
---|
Ringo, Paul, John, George |
Exemple 3 : combinaison de synthèse et de array_sort_desc
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_desc(timestamps, commands)[1]
Sortie
user_id | commands_in_chronological_order |
---|---|
user1 | [ « rm », « pwd », « dir », « chmod », « mkdir », « ls » ] |
user2 | [ « pwd », « rm » ] |
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_desc()
.
Exemple avec comportement par défaut :
print array_sort_desc(dynamic([null,"blue","yellow","green",null]))
Sortie
print_0 |
---|
["yellow »,"green »,"blue »,null,null] |
Exemple avec un comportement non défini :
print array_sort_desc(dynamic([null,"blue","yellow","green",null]), false)
Sortie
print_0 |
---|
[null,null,"yellow »,"green »,"blue"] |
Contenu connexe
Pour trier le premier tableau dans l’ordre croissant, utilisez array_sort_asc().