Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 | Typ | Wymagania | opis |
|---|---|---|---|
| array1... arrayN | dynamic |
✔️ | Tablica lub lista tablic do sortowania. |
| nulls_last | bool |
Określa, czy nulls 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.
Tablica zawierająca elementy różnych typów jest sortowana w następującej kolejności:
- Elementy liczbowe,
datetimeitimespan - Elementy ciągu
- Elementy guid
- Wszystkie inne elementy
Przykłady
Poniższy przykład sortuje tablicę początkową, array1, w kolejności malejącej. Następnie sortuje array2, aby dopasować nową kolejność array1.
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).
Poniższy przykład sortuje listę nazw w kolejności malejącej. Zapisuje listę nazw w zmiennej, Names, która następnie jest podzielona na tablicę i posortowana w kolejności malejącej. Zapytanie zwraca nazwy w kolejności malejącej.
let Names = "John,Paul,Jane,Kayo";
let SortedNames = strcat_array(array_sort_desc(split(Names, ",")), ",");
print result = SortedNames
Wyjście
| wynik |
|---|
| Paul,Kayo,John,Jane |
W poniższym przykładzie użyto operatora summarize i funkcji array_sort_asc do organizowania i sortowania poleceń według użytkownika w kolejności chronologicznej malejącej.
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
| identyfikator_użytkownika | commands_in_chronological_order |
|---|---|
| użytkownik1 | [ "rm", "pwd", "dir", "chmod", "mkdir", "ls" ] |
| użytkownik2 | [ "pwd", "rm" ] |
Uwaga
Jeśli dane mogą zawierać wartości null, użyj make_list_with_nulls zamiast make_list.
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 .
W poniższym przykładzie pokazano zachowanie domyślne:
print result=array_sort_desc(dynamic([null,"blue","yellow","green",null]))
Wyjście
| wynik |
|---|
| ["yellow","green","blue",null,null] |
W poniższym przykładzie pokazano zachowanie niezgodne z definicją przy użyciu parametru false, który określa, że wartości null są umieszczane na początku tablicy.
print result=array_sort_desc(dynamic([null,"blue","yellow","green",null]), false)
Wyjście
| wynik |
|---|
| [null,null,"yellow","green","blue"] |