Sdílet prostřednictvím


array_sort_desc()

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

Syntax

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

array_sort_desc(pole1[, ..., 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 Typ Vyžadováno Popis
Pole1... poleN dynamic ✔️ Pole nebo seznam polí, která se mají seřadit.
nulls_last bool Určuje, zda nullmá být s poslední.

Návraty

Vrátí stejný počet polí jako ve vstupu, s první maticí seřazenou vzestupně a zbývající pole seřazená tak, aby odpovídala změně pořadí prvního pole.

null se vrátí 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é prvky, datetimeprvky a timespan
  • Elementy řetězce
  • 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 vygenerují automaticky na základě argumentů funkce. Pokud chcete 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í souhrnu 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
uživatel 1 [
"rm",
"pwd",
"dir",
"chmod",
"mkdir",
"ls"
]
uživatel 2 [
"pwd",
"rm"
]

Poznámka

Pokud data můžou 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 jsou hodnoty v seřazené matici na posledním místě. Můžete ho však řídit explicitně 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 nevýchozí chování:

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 vzestupně, použijte array_sort_asc().