Delen via


array_sort_desc()

Van toepassing op: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel-

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

Syntaxis

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

array_sort_desc( matrix1[, ..., argumentN],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 gesorteerd, array1, in aflopende volgorde. 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_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. Gebruik de volgende syntaxis om verschillende namen toe te wijzen aan de uitvoerkolommen: ... | extend (out1, out2) = array_sort_desc(array1,array2).

Subtekenreeksen sorteren

In het volgende voorbeeld wordt een lijst met namen in aflopende volgorde gesorteerd. Er wordt een lijst met namen opgeslagen in een variabele, Names, die vervolgens wordt gesplitst in een matrix en in aflopende volgorde wordt gesorteerd. De query retourneert de namen in aflopende volgorde.

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

uitvoer

resultaat
Paul,Kayo,John, Jane

Samenvatten en array_sort_desc 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 aflopende 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_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 null waarden kunnen 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_desc(dynamic([null,"blue","yellow","green",null]))

uitvoer

resultaat
["geel","groen","blauw",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_desc(dynamic([null,"blue","yellow","green",null]), false)

uitvoer

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