array_sort_asc()
Gäller för: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Tar emot en eller flera matriser. Sorterar den första matrisen i stigande ordning. Beställer de återstående matriserna så att de matchar den omordnade första matrisen.
Syntax
array_sort_asc(
array1[, ..., arrayN][,
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 null ska 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,
datetime
ochtimespan
- 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 stigande 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_asc(array1,array2)
utdata
array1_sorted | array2_sorted |
---|---|
[1,2,3,4,5] | ["a","e","b","c","d"] |
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_asc(array1,array2)
.
Sortera delsträngar
I följande exempel sorteras en lista med namn i stigande ordning. Den sparar en lista med namn i en variabel, Names
, som sedan delas upp i en matris och sorteras i stigande ordning. Frågan returnerar namnen i stigande ordning.
let Names = "John,Paul,Jane,Kao";
let SortedNames = strcat_array(array_sort_asc(split(Names, ",")), ",");
print result = SortedNames
utdata
resultat |
---|
Jane,John,Kao,Paul |
Kombinera sammanfatta och array_sort_asc
I följande exempel används summarize
-operatorn och funktionen array_sort_asc
för att ordna och sortera kommandon efter användare i 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_asc(timestamps, commands)[1]
utdata
user_id | commands_in_chronological_order |
---|---|
user1 | [ "ls", "mkdir", "chmod", "dir", "pwd", "rm" ] |
user2 | [ "rm", "pwd" ] |
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_asc(dynamic([null,"blue","yellow","green",null]))
utdata
resultat |
---|
["blue","green","yellow",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_asc(dynamic([null,"blue","yellow","green",null]), false)
utdata
resultat |
---|
[null,null,"blue","green","yellow"] |