Dela via


array_sort_desc()

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Tar emot en eller flera matriser. Sorterar den första matrisen i fallande ordning. Beställer de återstående matriserna så att de matchar den omordnade första matrisen.

Syntax

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

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

Om nulls_last inte anges används standardvärdet true.

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Krävs Beskrivning
matris1... arrayN dynamic ✔️ Matrisen eller listan över matriser som ska sorteras.
nulls_last bool Avgör om nullska vara sist.

Returnerar

Returnerar samma antal matriser som i indata, med den första matrisen sorterad i stigande ordning och de återstående matriserna sorterade för att matcha den omordnade första matrisen.

null returneras för varje matris som skiljer sig i längd från den första.

En matris som innehåller element av olika typer sorteras i följande ordning:

  • Numeriska element, datetimeoch timespan
  • Strängelement
  • Guid-element
  • Alla andra element

Exempel

Exemplen i det här avsnittet visar hur du använder syntaxen för att komma igång.

Sortera två matriser

I följande exempel sorteras den inledande matrisen, array1, i fallande ordning. Den sorterar sedan array2 för att matcha den nya ordningen för array1.

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

utdata

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

Not

Utdatakolumnnamnen genereras automatiskt baserat på argumenten till funktionen. Om du vill tilldela olika namn till utdatakolumnerna använder du följande syntax: ... | extend (out1, out2) = array_sort_desc(array1,array2).

Sortera delsträngar

I följande exempel sorteras en lista med namn i fallande ordning. Den sparar en lista med namn i en variabel, Names, som sedan delas upp i en matris och sorteras i fallande ordning. Frågan returnerar namnen i fallande ordning.

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

utdata

resultat
Paul,Kayo,John,Jane

Kombinera sammanfatta och array_sort_desc

I följande exempel används operatorn summarize och funktionen array_sort_asc för att ordna och sortera kommandon efter användare i fallande kronologisk ordning.

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]

utdata

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

Not

Om dina data kan innehålla null värden använder du make_list_with_nulls i stället för make_list.

Kontrollera platsen för null värden

Som standard placeras null värden sist i den sorterade matrisen. Du kan dock styra det explicit genom att lägga till ett bool värde som det sista argumentet i array_sort_asc().

I följande exempel visas standardbeteendet:

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

utdata

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

I följande exempel visas nondefault-beteende med hjälp av parametern false, som anger att null-värden placeras i början av matrisen.

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

utdata

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