Freigeben über


array_sort_asc()

Gilt für: ✅Microsoft Fabric

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

Syntax

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

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

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type 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

Die Beispiele in diesem Abschnitt zeigen, wie Sie die Syntax verwenden, um Ihnen den Einstieg zu erleichtern.

Sortieren von zwei Arrays

Im folgenden Beispiel wird das anfängliche Array array1in aufsteigender 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_asc(array1,array2)

Output

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

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_asc(array1,array2).

Sortieren von Teilzeichenfolgen

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

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

Output

result
Jane,John,Kao,Paul

Zusammenfassen und array_sort_asc

Im folgenden Beispiel werden der summarize-Operator und die array_sort_asc-Funktion verwendet, um Befehle nach Benutzer in 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_asc(timestamps, commands)[1]

Output

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

Hinweis

Wenn Ihre Daten möglicherweise null Werte enthalten, verwenden Sie make_list_with_nulls anstelle von make_list.

Steuern des Speicherorts von null Werten

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_asc(dynamic([null,"blue","yellow","green",null]))

Output

result
["blue","green","yellow",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_asc(dynamic([null,"blue","yellow","green",null]), false)

Output

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