배열 정렬 설명 ()
하나 이상의 배열을 수신합니다. 첫 번째 배열을 내림차순으로 정렬합니다. 나머지 배열을 다시 정렬된 첫 번째 배열과 일치하도록 정렬합니다.
구문
array_sort_desc(array1[, ..., argumentN])
array_sort_desc(array1[, ..., argumentN],nulls_last)
nulls_last 가 제공되지 않으면 기본값 true 가 사용됩니다.
인수
- array1...arrayN: 입력 배열.
- nulls_last:
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
결과
result |
|---|
| 링고, 폴, 존, 조지 |
예 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대신 make_list_with_nulls 를 사용하십시오.
예제 4- null 값의 위치 제어
기본적으로 null 값은 정렬된 배열에서 마지막에 배치됩니다. 그러나 bool 값을 array_sort_desc()에 마지막 인수로 추가하여 명시적으로 제어할 수 있습니다.
기본 동작의 예:
print array_sort_desc(dynamic([null,"blue","yellow","green",null]))
결과
print_0 |
|---|
| ["노란색", "녹색", "파란색", 널, 널] |
기본이 아닌 동작의 예:
print array_sort_desc(dynamic([null,"blue","yellow","green",null]), false)
결과
print_0 |
|---|
| [널, 널, "노란색", "녹색", "파란색"] |
관련 참조
첫 번째 배열을 오름차순으로 정렬하려면 array_sort_asc ()를 사용하십시오.