Partager via


array_sort_desc()

S’applique à : ✅Microsoft Fabric

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

Un tableau qui contient des éléments de différents types, 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

Exemples

Les exemples de cette section montrent comment utiliser la syntaxe pour vous aider à commencer.

Trier deux tableaux

L’exemple suivant trie le tableau initial, array1, dans l’ordre décroissant. Il trie ensuite array2 pour correspondre au nouvel ordre de array1.

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

Trier les sous-chaînes

L’exemple suivant trie une liste de noms dans l’ordre décroissant. Il enregistre une liste de noms dans une variable, Names, qui est ensuite fractionnée en tableau et triée dans l’ordre décroissant. La requête retourne les noms dans l’ordre décroissant.

let Names = "John,Paul,Jane,Kayo";
let SortedNames = strcat_array(array_sort_desc(split(Names, ",")), ",");
print result = SortedNames

Sortie

result
Paul,Kayo,John,Jane

Combiner résumé et array_sort_desc

L’exemple suivant utilise l’opérateur summarize et la fonction array_sort_asc pour organiser et trier les commandes par l’utilisateur dans l’ordre chronologique décroissant.

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 valeurs null, utilisez make_list_with_nulls au lieu de make_list.

Contrôler l’emplacement des valeurs de null

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

L’exemple suivant montre le comportement par défaut :

print result=array_sort_desc(dynamic([null,"blue","yellow","green",null]))

Sortie

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

L’exemple suivant montre un comportement non défini à l’aide du paramètre false, qui spécifie que les valeurs null sont placées au début du tableau.

print result=array_sort_desc(dynamic([null,"blue","yellow","green",null]), false)

Sortie

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