次の方法で共有


array_sort_asc()

適用対象: ✅Microsoft FabricAzure データ エクスプローラーAzure MonitorMicrosoft Sentinel

1 つ以上の配列を受け取ります。 最初の配列を昇順で並べ替えます。 並べ替えられた最初の配列に一致するように、残りの配列を並べ替えます。

構文

array_sort_asc( array1[, ..., arrayN][,nulls_last])

nulls_last が指定されていない場合は、既定値の true が使用されます。

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
array1...arrayN dynamic ✔️ 並べ替える配列または配列の一覧。
nulls_last bool nullを最後にするかどうかを決定します。

返品

入力と同じ数の配列を返します。最初の配列は昇順に並べ替えられ、残りの配列は並べ替えられた最初の配列と一致するように並べ替えられます。

null は、最初の配列とは長さが異なるすべての配列に対して返されます。

異なる型の要素を含む配列は、次の順序で並べ替えられます。

  • 数値、datetime、および timespan 要素
  • 文字列要素
  • GUID 要素
  • その他のすべての要素

このセクションの例では、構文を使用して作業を開始する方法を示します。

2 つの配列を並べ替える

次の例では、最初の配列 (array1) を昇順で並べ替えます。 次に、array1の新しい順序に一致するように array2 を並べ替えます。

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

出力

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

Note

出力列の名前は、関数の引数に基づいて自動的に生成されます。 出力列に異なる名前を割り当てるには、次の構文を使用します: ... | extend (out1, out2) = array_sort_asc(array1,array2)

部分文字列を並べ替える

次の例では、名前の一覧を昇順で並べ替えます。 名前のリストを変数 Namesに保存し、配列に分割して昇順で並べ替えます。 クエリは、名前を昇順で返します。

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

出力

結果
Jane、John、Kao、Paul

集計とarray_sort_ascを組み合わせる

次の例では、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_asc(timestamps, commands)[1]

出力

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

Note

データに null 値が含まれている可能性がある場合は、make_listの代わりに make_list_with_nulls を使用します。

null 値の場所を制御する

既定では、null 値は並べ替えられた配列の最後に配置されます。 ただしこれは、bool の最後の引数として array_sort_asc() 値を追加することで、明示的に制御できます。

次の例は、既定の動作を示しています。

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

出力

結果
["blue","green","yellow",null,null]

次の例は、配列の先頭に null が配置されることを指定する、false パラメーターを使用した既定以外の動作を示しています。

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

出力

結果
[null,null,"blue","green","yellow"]