Delen via


array_sort_asc()

Van toepassing op: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft 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 nullde 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, datetimeen timespan 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"]