Sdílet prostřednictvím


array_sort_desc()

Platí pro: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Přijímá jedno nebo více polí. Seřadí první pole v sestupném pořadí. Seřadí zbývající pole tak, aby odpovídala přeuspořádanému prvnímu poli.

Syntaxe

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

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

Pokud nulls_last není zadaný, použije se výchozí hodnota true .

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
pole1... arrayN dynamic ✔️ Pole nebo seznam polí, která chcete seřadit.
nulls_last bool Určuje, zda nullmá být poslední.

Návraty

Vrátí stejný počet polí jako ve vstupu, přičemž první matice je seřazená vzestupně a zbývající matice seřazené tak, aby odpovídaly přeuspořádané první matici.

null je vrácena pro každé pole, které se liší délkou od prvního pole.

Pokud pole obsahuje prvky různých typů, je seřazené v následujícím pořadí:

  • Číselné, datetimea timespan prvky
  • Řetězcové elementy
  • Elementy GUID
  • Všechny ostatní prvky

Příklad 1 – Řazení dvou polí

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

Výstup

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

Poznámka:

Názvy výstupních sloupců se generují automaticky na základě argumentů funkce. Pokud chcete k výstupním sloupcům přiřadit různé názvy, použijte následující syntaxi: ... | extend (out1, out2) = array_sort_desc(array1,array2)

Příklad 2 – řazení podřetěžců

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

Výstup

result
Ringo, Paul, John, George

Příklad 3 – Kombinování souhrnů a array_sort_desc

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]

Výstup

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

Poznámka:

Pokud data mohou obsahovat null hodnoty, použijte místo make_list make_list_with_nulls.

Příklad 4 – řízení umístění null hodnot

Ve výchozím nastavení null se hodnoty zakládají jako poslední do seřazeného pole. Můžete ho ale explicitně řídit přidáním bool hodnoty jako posledního argumentu do array_sort_desc().

Příklad s výchozím chováním:

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

Výstup

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

Příklad s nedefaultním chováním:

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

Výstup

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

Pokud chcete seřadit první pole ve vzestupném pořadí, použijte array_sort_asc().