Freigeben über


array_sort_desc()

Gilt für: ✅Microsoft Fabric

Empfängt einzelne oder mehrere Arrays. Sortiert das erste Array in absteigender Reihenfolge. Sortiert die verbleibenden Arrays so, dass sie zum neu sortierten ersten Array passen.

Syntax

array_sort_desc( array1[, ..., argumentN])

array_sort_desc( array1[, ..., argumentN],nulls_last)

Wenn nulls_last nicht angegeben wird, wird ein Standardwert true verwendet.

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich Beschreibung
Array1... arrayN dynamic ✔️ Das Array oder die Liste der zu sortierenden Arrays.
nulls_last bool Bestimmt, ob nulls zuletzt sein soll.

Gibt zurück

Gibt die gleiche Anzahl von Arrays wie in der Eingabe zurück, wobei das erste Array in aufsteigender Reihenfolge sortiert ist und die verbleibenden Arrays sortiert sind, die dem neu angeordneten ersten Array entsprechen.

null wird für jedes Array zurückgegeben, das sich von der ersten Matrix unterscheidet.

Ein Array, das Elemente verschiedener Typen enthält, wird in der folgenden Reihenfolge sortiert:

  • Numerische Elemente und datetimetimespan Elemente
  • String-Elemente
  • Guid-Elemente
  • Alle anderen Elemente

Beispiele

Im folgenden Beispiel wird das anfängliche Array array1in absteigender Reihenfolge sortiert. Anschließend wird array2 sortiert, um der neuen Reihenfolge von array1zu entsprechen.

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

Ausgabe

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

Hinweis

Die Ausgabespaltennamen werden automatisch basierend auf den Argumenten für die Funktion generiert. Wenn Sie den Ausgabespalten unterschiedliche Namen zuweisen möchten, verwenden Sie die folgende Syntax: ... | extend (out1, out2) = array_sort_desc(array1,array2).

Im folgenden Beispiel wird eine Liste mit Namen in absteigender Reihenfolge sortiert. Sie speichert eine Liste von Namen in einer Variablen, Names, die dann in ein Array unterteilt und in absteigender Reihenfolge sortiert wird. Die Abfrage gibt die Namen in absteigender Reihenfolge zurück.

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

Ausgabe

Ergebnis
Paul,Kayo,John,Jane

Im folgenden Beispiel werden der summarize-Operator und die array_sort_asc-Funktion verwendet, um Befehle nach Benutzer in absteigender chronologischer Reihenfolge zu organisieren und zu sortieren.

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]

Ausgabe

Benutzer-ID commands_in_chronological_order
user1 [
"rm",
"pwd",
"dir",
"chmod",
"mkdir",
"ls"
]
user2 [
"pwd",
"rm"
]

Hinweis

Wenn Ihre Daten null Werte enthalten können, verwenden Sie make_list_with_nulls anstelle von make_list.

Standardmäßig null werden Die Werte zuletzt im sortierten Array platziert. Sie können dies jedoch explizit steuern, indem Sie einen bool Wert als letztes Argument hinzufügen.array_sort_asc()

Das folgende Beispiel zeigt das Standardverhalten:

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

Ausgabe

Ergebnis
["yellow","green","blue",null,null]

Das folgende Beispiel zeigt nicht standardmäßiges Verhalten mithilfe des false-Parameters, der angibt, dass Nullen am Anfang des Arrays platziert werden.

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

Ausgabe

Ergebnis
[null,null,"yellow","green","blue"]