array_sort_desc()
Получает один или несколько массивов. Сортирует первый массив по убыванию. Упорядочивает оставшиеся массивы в соответствии с переупорядоченным первым массивом.
Синтаксис
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
- Все остальные элементы
Пример 1. Сортировка двух массивов
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)
Пример 2. Сортировка подстрок
let Names = "John, Paul, George, Ringo";
let SortedNames = strcat_array(array_sort_desc(split(Names, ",")), ",");
print result = SortedNames
Выходные данные
набор по |
---|
Ринго, Пол, Джон, Джордж |
Пример 3. Объединение суммирования и 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]
Выходные данные
user_id | commands_in_chronological_order |
---|---|
user1 | [ "rm", "pwd", "dir", "chmod", "mkdir", "ls" ] |
user2 | [ "pwd", "rm" ] |
Примечание
Если данные могут содержать null
значения, используйте make_list_with_nulls вместо make_list.
Пример 4. Управление расположением значений null
По умолчанию null
значения помещаются последними в отсортированный массив. Однако вы можете явно управлять им, добавив bool
значение в качестве последнего аргумента в array_sort_desc()
.
Пример с поведением по умолчанию:
print array_sort_desc(dynamic([null,"blue","yellow","green",null]))
Выходные данные
print_0 |
---|
["yellow","green","blue",null,null] |
Пример с нестандартным поведением:
print array_sort_desc(dynamic([null,"blue","yellow","green",null]), false)
Выходные данные
print_0 |
---|
[null,null,"yellow","green","blue"] |
См. также
Чтобы отсортировать первый массив в порядке возрастания, используйте array_sort_asc().
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по