Share via


array_sort_desc()

Ontvangt een of meer matrices. Hiermee sorteert u de eerste matrix in aflopende volgorde. Hiermee worden de resterende matrices zo gerangschikt dat deze overeenkomen met de opnieuw gerangschikte eerste matrix.

Syntax

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

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

Als nulls_last niet is opgegeven, wordt de standaardwaarde gebruikt true .

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
matrix1... matrixN dynamic ✔️ De matrix of lijst met matrices die u wilt sorteren.
nulls_last bool Bepaalt of nulls de laatste moeten zijn.

Retouren

Retourneert hetzelfde aantal matrices als in de invoer, waarbij de eerste matrix in oplopende volgorde is gesorteerd en de resterende matrices zijn gerangschikt om overeen te komen met de opnieuw gerangschikte eerste matrix.

null wordt geretourneerd voor elke matrix die in lengte verschilt van de eerste.

Als een matrix elementen van verschillende typen bevat, wordt deze in de volgende volgorde gesorteerd:

  • Numerieke elementen, datetime, en timespan
  • Tekenreekselementen
  • Guid-elementen
  • Alle andere elementen

Voorbeeld 1: twee matrices sorteren

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

Uitvoer

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

Notitie

De namen van de uitvoerkolommen worden automatisch gegenereerd op basis van de argumenten voor de functie. Als u verschillende namen wilt toewijzen aan de uitvoerkolommen, gebruikt u de volgende syntaxis: ... | extend (out1, out2) = array_sort_desc(array1,array2)

Voorbeeld 2: subtekenreeksen sorteren

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

Uitvoer

result
Ringo, Paul, John, George

Voorbeeld 3: Samenvatten en array_sort_desc combineren

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]

Uitvoer

user_id commands_in_chronological_order
gebruiker1 [
"rm",
"pwd",
"dir",
"chmod",
"mkdir",
"ls"
]
gebruiker2 [
"pwd",
"rm"
]

Notitie

Als uw gegevens waarden kunnen bevatten null , gebruikt u make_list_with_nulls in plaats van make_list.

Voorbeeld 4: de locatie van null waarden beheren

null Standaard worden waarden als laatste in de gesorteerde matrix geplaatst. U kunt deze echter expliciet beheren door een bool waarde als laatste argument toe te voegen aan array_sort_desc().

Voorbeeld met standaardgedrag:

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

Uitvoer

print_0
["geel","groen","blauw",null,null]

Voorbeeld met niet-standaardgedrag:

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

Uitvoer

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

Als u de eerste matrix in oplopende volgorde wilt sorteren, gebruikt u array_sort_asc().