Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переключайте службы с помощью раскрывающегося списка Версия. Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Получает один или несколько массивов. Сортирует первый массив по убыванию. Упорядочивает оставшиеся массивы в соответствии с переупорядоченным первым массивом.
Синтаксис
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
- Все остальные элементы
Примеры
В следующем примере выполняется сортировка исходного массива array1в порядке убывания. Затем он сортирует array2 в соответствии с новым порядком array1.
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).
В следующем примере выполняется сортировка списка имен в порядке убывания. Он сохраняет список имен в переменную, Names, которая затем разбивается на массив и отсортирована в порядке убывания. Запрос возвращает имена в порядке убывания.
let Names = "John,Paul,Jane,Kayo";
let SortedNames = strcat_array(array_sort_desc(split(Names, ",")), ",");
print result = SortedNames
Выходные данные
| результат |
|---|
| Пол, Кайо, Джон, Джейн |
В следующем примере используется оператор 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_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.
По умолчанию null значения помещаются в отсортированный массив. Однако вы можете явно контролировать его, добавив bool значение в качестве последнего аргумента array_sort_asc().
В следующем примере показано поведение по умолчанию:
print result=array_sort_desc(dynamic([null,"blue","yellow","green",null]))
Выходные данные
| результат |
|---|
| ["желтый","зеленый","синий",null,null] |
В следующем примере показано поведение, отличное от false, с помощью параметра false, указывающего, что значения NULL помещаются в начало массива.
print result=array_sort_desc(dynamic([null,"blue","yellow","green",null]), false)
Выходные данные
| результат |
|---|
| [NULL,NULL,"желтый","зеленый","синий"] |