Sdílet prostřednictvím


array_sort_asc()

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

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

Syntaxe

array_sort_asc( array1[, ..., arrayN][,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.

Pole, které obsahuje prvky různých typů, je seřazeno v následujícím pořadí:

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

Příklady

Příklady v této části ukazují, jak používat syntaxi, která vám pomůže začít.

Řazení dvou polí

Následující příklad seřadí počáteční pole array1ve vzestupném pořadí. Potom seřadí array2 tak, aby odpovídaly novému pořadí array1.

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

Výstup

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

Poznámka:

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

Řazení podřetěžců

Následující příklad seřadí seznam názvů ve vzestupném pořadí. Uloží seznam názvů do proměnné, Names, která se pak rozdělí do pole a seřadí se vzestupně. Dotaz vrátí názvy ve vzestupném pořadí.

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

Výstup

result
Jane, John, Kao, Paul

Kombinování souhrnů a array_sort_asc

Následující příklad používá operátor summarize a funkci array_sort_asc k uspořádání a řazení příkazů podle uživatele v chronologickém pořadí.

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]

Výstup

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

Poznámka:

Pokud vaše data mohou obsahovat hodnoty null, použijte místo make_listmake_list_with_nulls .

Umístění ovládacího prvku 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_asc().

Následující příklad ukazuje výchozí chování:

print result=array_sort_asc(dynamic([null,"blue","yellow","green",null]))

Výstup

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

Následující příklad ukazuje nestandardní chování pomocí false parametru, který určuje, že hodnoty null jsou umístěny na začátku pole.

print result=array_sort_asc(dynamic([null,"blue","yellow","green",null]), false)

Výstup

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