Udostępnij za pośrednictwem


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 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, datetimei timespan
  • 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"]