array_sort_asc()
Dotyczy: ✅Microsoft Fabric✅✅
Odbiera co najmniej jedną tablicę. Sortuje pierwszą tablicę w kolejności rosnącej. Porządkuje pozostałe tablice tak, aby odpowiadały ponownie uporządkowanej pierwszej tablicy.
Składnia
array_sort_asc(
array1[, ..., arrayN][,
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.
Tablica zawierająca 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łady
W przykładach w tej sekcji pokazano, jak używać składni, aby ułatwić rozpoczęcie pracy.
Sortowanie dwóch tablic
Poniższy przykład sortuje tablicę początkową, array1
, w kolejności rosną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_asc(array1,array2)
Wyjście
array1_sorted | array2_sorted |
---|---|
[1,2,3,4,5] | ["a","e","b","c","d"] |
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_asc(array1,array2)
.
Sortowanie podciągów
Poniższy przykład sortuje listę nazw w kolejności rosnącej. Zapisuje listę nazw w zmiennej, Names
, która następnie jest podzielona na tablicę i sortowana w kolejności rosnącej. Zapytanie zwraca nazwy w kolejności rosnącej.
let Names = "John,Paul,Jane,Kao";
let SortedNames = strcat_array(array_sort_asc(split(Names, ",")), ",");
print result = SortedNames
Wyjście
result |
---|
Jane,John,Kao,Paul |
Łączenie podsumowania i array_sort_asc
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.
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_asc(timestamps, commands)[1]
Wyjście
user_id | commands_in_chronological_order |
---|---|
użytkownik1 | [ "ls", "mkdir", "chmod", "dir", "pwd", "rm" ] |
użytkownik2 | [ "rm", "pwd" ] |
Uwaga
Jeśli dane mogą zawierać wartości null
, użyj make_list_with_nulls zamiast make_list.
Kontrolowanie lokalizacji wartości null
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_asc(dynamic([null,"blue","yellow","green",null]))
Wyjście
result |
---|
["blue","green","yellow",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_asc(dynamic([null,"blue","yellow","green",null]), false)
Wyjście
result |
---|
[null,null,"blue","green","yellow"] |