共用方式為


array_sort_desc()

適用於:✅Microsoft網狀架構✅✅✅

接收一或多個陣列。 依遞減順序排序第一個陣列。 排序其餘陣列以符合重新排序的第一個陣列。

語法

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

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

如果未 提供nulls_last ,則會使用的預設值 true

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
array1...arrayN dynamic ✔️ 要排序的陣列或陣列清單。
nulls_last bool 判斷 是否 null應是最後一個。

傳回

傳回與輸入中相同的陣列數目,第一個陣列會以遞增順序排序,而剩餘的陣列會排序以符合重新排序的第一個數位。

null 會針對長度與第一個數位不同的每個數位傳回 。

陣列,其中包含不同類型的元素,會依下列順序排序:

  • 數值、 datetime、 和 timespan 元素
  • 字串元素
  • Guid 元素
  • 所有其他元素

例子

本節中的範例示範如何使用 語法來協助您開始使用。

排序兩個陣列

下列範例會以遞減順序排序初始陣列 array1。 然後,它會排序 array2,以符合 array1的新順序。

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

輸出

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

注意

輸出數據行名稱會根據函式的自變數自動產生。 若要將不同的名稱指派給輸出資料列,請使用下列語法:... | extend (out1, out2) = array_sort_desc(array1,array2)

排序子字串

下列範例會以遞減順序排序名稱清單。 它會將名稱清單儲存至變數,Names,然後分割成陣列,並以遞減順序排序。 查詢會以遞減順序傳回名稱。

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

輸出

result
保羅,卡約,約翰,簡

結合 summarize 和 array_sort_desc

下列範例會使用 summarize 運算子和 array_sort_asc 函式,依使用者依遞減時間順序來組織和排序命令。

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]

輸出

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

注意

如果您的資料可以包含 null 值,請使用 make_list_with_nulls,而不是 make_list

控制 null 值的位置

根據預設, null 值會放在排序數位的最後一個。 不過,您可以將值新增為 的最後一個 bool 自變數, array_sort_asc()以明確控制它。

下列範例顯示預設行為:

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

輸出

result
[“黃色”,“綠色”,“藍色”,null,null]

下列範例示範使用 false 參數的非預設行為,指定 null 會放在數位的開頭。

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

輸出

result
[null,null,“yellow”,“green”,“blue”]