array_sort_asc()
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Odbiera co najmniej jedną tablicę. Sortuje pierwszą tablicę w kolejności rosnącej. Porządkuje pozostałe tablice tak, aby odpowiadały ponownie uporządkowanej pierwszej tablicy.
Składnia
array_sort_asc(
array1[, ..., arrayN][,
nulls_last])
Jeśli nulls_last nie zostanie podana, zostanie użyta wartość domyślna true
.
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
array1... arrayN | dynamic |
✔️ | Tablica lub lista tablic do sortowania. |
nulls_last | bool |
Określa, czy null s powinny być ostatnie. |
Zwraca
Zwraca taką samą liczbę tablic, jak w danych wejściowych, z pierwszą tablicą posortowaną w kolejności rosnącej, a pozostałe tablice uporządkowane pasują do zmiany kolejności pierwszej tablicy.
null
Jest zwracany dla każdej tablicy, która różni się długością od pierwszej.
Jeśli tablica zawiera elementy różnych typów, jest sortowana w następującej kolejności:
- Elementy liczbowe,
datetime
itimespan
- Elementy ciągu
- Elementy guid
- Wszystkie inne elementy
Przykład 1 — sortowanie dwóch tablic
let array1 = dynamic([1,3,4,5,2]);
let array2 = dynamic(["a","b","c","d","e"]);
print array_sort_asc(array1,array2)
Wyjście
array1_sorted | array2_sorted |
---|---|
[1,2,3,4,5] | ["a","e","b","c","d"] |
Uwaga
Nazwy kolumn wyjściowych są generowane automatycznie na podstawie argumentów funkcji. Aby przypisać różne nazwy do kolumn wyjściowych, użyj następującej składni: ... | extend (out1, out2) = array_sort_asc(array1,array2)
Przykład 2 — sortowanie podciągów
let Names = "John,Paul,George,Ringo";
let SortedNames = strcat_array(array_sort_asc(split(Names, ",")), ",");
print result = SortedNames
Wyjście
result |
---|
George,John,Paul,Ringo |
Przykład 3 — łączenie podsumowania i 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]
Wyjście
user_id | commands_in_chronological_order |
---|---|
użytkownik1 | [ "ls", "mkdir", "chmod", "dir", "pwd", "rm" ] |
użytkownik2 | [ "rm", "pwd" ] |
Uwaga
Jeśli dane mogą zawierać null
wartości, użyj make_list_with_nulls zamiast make_list.
Przykład 4 — kontrolowanie lokalizacji null
wartości
Domyślnie null
wartości są umieszczane jako ostatnie w posortowanej tablicy. Możesz jednak jawnie kontrolować ją, dodając bool
wartość jako ostatni argument do array_sort_asc()
elementu .
Przykład z zachowaniem domyślnym:
print array_sort_asc(dynamic([null,"blue","yellow","green",null]))
Wyjście
print_0 |
---|
["blue","green","yellow",null,null] |
Przykład z zachowaniem innych niż domyślne:
print array_sort_asc(dynamic([null,"blue","yellow","green",null]), false)
Wyjście
print_0 |
---|
[null,null,"blue","green","yellow"] |
Powiązana zawartość
Aby posortować pierwszą tablicę w kolejności malejącej, użyj array_sort_desc ().