array_sort_desc()
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Odbiera co najmniej jedną tablicę. Sortuje pierwszą tablicę w kolejności malejącej. Porządkuje pozostałe tablice tak, aby odpowiadały ponownie uporządkowanej pierwszej tablicy.
Składnia
array_sort_desc(
array1[, ..., argumentN])
array_sort_desc(
array1[, ..., argumentN],
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_desc(array1,array2)
Wyjście
array1_sorted | array2_sorted |
---|---|
[5,4,3,2,1] | ["d","c","b","e","a"] |
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_desc(array1,array2)
Przykład 2 — sortowanie podciągów
let Names = "John, Paul, George, Ringo";
let SortedNames = strcat_array(array_sort_desc(split(Names, ",")), ",");
print result = SortedNames
Wyjście
result |
---|
Ringo, Paul, John, George |
Przykład 3 — łączenie podsumowania i 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]
Wyjście
user_id | commands_in_chronological_order |
---|---|
użytkownik1 | [ "rm", "pwd", "dir", "chmod", "mkdir", "ls" ] |
użytkownik2 | [ "pwd", "rm" ] |
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_desc()
elementu .
Przykład z zachowaniem domyślnym:
print array_sort_desc(dynamic([null,"blue","yellow","green",null]))
Wyjście
print_0 |
---|
["yellow","green","blue",null,null] |
Przykład z zachowaniem niezgodnym z definicją:
print array_sort_desc(dynamic([null,"blue","yellow","green",null]), false)
Wyjście
print_0 |
---|
[null,null,"yellow","green","blue"] |
Powiązana zawartość
Aby posortować pierwszą tablicę w kolejności rosnącej, użyj array_sort_asc ().