array_sort_asc()
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel-
Ontvangt een of meer matrices. Hiermee sorteert u de eerste matrix in oplopende volgorde. Hiermee worden de resterende matrices gesorteerd zodat deze overeenkomen met de opnieuw gerangschikte eerste matrix.
Syntaxis
array_sort_asc(
matrix1[, ..., matrixN][,
nulls_last])
Als nulls_last niet is opgegeven, wordt een standaardwaarde van true
gebruikt.
Meer informatie over syntaxisconventies.
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
matrix1... matrixN- | dynamic |
✔️ | De matrix of lijst met matrices die moeten worden gesorteerd. |
nulls_last | bool |
Bepaalt of null de laatste moet zijn. |
Retourneert
Retourneert hetzelfde aantal matrices als in de invoer, waarbij de eerste matrix in oplopende volgorde is gesorteerd en de resterende matrices die zijn geordend om overeen te komen met de opnieuw gerangschikte eerste matrix.
null
wordt geretourneerd voor elke matrix die in lengte verschilt van de eerste.
Een matrix die elementen van verschillende typen bevat, wordt in de volgende volgorde gesorteerd:
- Numerieke,
datetime
entimespan
elementen - Tekenreekselementen
- Guid-elementen
- Alle andere elementen
Voorbeelden
In de voorbeelden in deze sectie ziet u hoe u de syntaxis kunt gebruiken om aan de slag te gaan.
Twee matrices sorteren
In het volgende voorbeeld wordt de eerste matrix, array1
, in oplopende volgorde gesorteerd. Vervolgens wordt array2
gesorteerd zodat deze overeenkomt met de nieuwe volgorde van array1
.
let array1 = dynamic([1,3,4,5,2]);
let array2 = dynamic(["a","b","c","d","e"]);
print array_sort_asc(array1,array2)
uitvoer
array1_sorted | array2_sorted |
---|---|
[1,2,3,4,5] | ["a","e","b","c","d"] |
Notitie
De namen van de uitvoerkolommen worden automatisch gegenereerd op basis van de argumenten voor de functie. Gebruik de volgende syntaxis om verschillende namen toe te wijzen aan de uitvoerkolommen: ... | extend (out1, out2) = array_sort_asc(array1,array2)
.
Subtekenreeksen sorteren
In het volgende voorbeeld wordt een lijst met namen in oplopende volgorde gesorteerd. Er wordt een lijst met namen opgeslagen in een variabele, Names
, die vervolgens wordt gesplitst in een matrix en in oplopende volgorde wordt gesorteerd. De query retourneert de namen in oplopende volgorde.
let Names = "John,Paul,Jane,Kao";
let SortedNames = strcat_array(array_sort_asc(split(Names, ",")), ",");
print result = SortedNames
uitvoer
resultaat |
---|
Jane, John, Kao, Paul |
Samenvatten en array_sort_asc combineren
In het volgende voorbeeld worden de operator summarize
en de functie array_sort_asc
gebruikt om opdrachten te ordenen en te sorteren op gebruiker in chronologische volgorde.
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]
uitvoer
user_id | commands_in_chronological_order |
---|---|
gebruiker1 | [ "ls", "mkdir", "chmod", "dir", "pwd", "rm" ] |
gebruiker2 | [ "rm", "pwd" ] |
Notitie
Als uw gegevens mogelijk null
waarden bevatten, gebruikt u make_list_with_nulls in plaats van make_list.
Locatie van null
-waarden beheren
Standaard worden null
waarden als laatste in de gesorteerde matrix geplaatst. U kunt dit echter expliciet beheren door een bool
waarde toe te voegen als laatste argument aan array_sort_asc()
.
In het volgende voorbeeld ziet u het standaardgedrag:
print result=array_sort_asc(dynamic([null,"blue","yellow","green",null]))
uitvoer
resultaat |
---|
["blauw","groen","geel",null,null] |
In het volgende voorbeeld ziet u niet-standaardgedrag met behulp van de parameter false
, waarmee wordt aangegeven dat null-waarden aan het begin van de matrix worden geplaatst.
print result=array_sort_asc(dynamic([null,"blue","yellow","green",null]), false)
uitvoer
resultaat |
---|
[null,null,"blauw","groen","geel"] |