Sortowanie
Funkcje sortowania w skrypcie TapHome — ORDER, ORDERINDEX oraz ich warianty STRICT i malejące do sortowania wartości lub zwracania indeksów porządku sortowania.
Istnieje wiele wariantów ORDER: rosnąco – ORDER, ORDERSTRICT – ORDERINDEX, ORDERINDEXSTRICT; malejąco – ORDERDESC, ORDERDESCSTRICT – ORDERINDEXDESC, ORDERINDEXDESCSTRICT.
ORDER
Funkcja ORDER sortuje podane wartości wejściowe w porządku rosnącym i zwraca je w nowej kolekcji. Akceptuje n wartości (do 100 argumentów) lub jedną kolekcję. Wartości nie muszą być liczbowe, ale muszą być porównywalne (np. liczby, TIMESPAN, DATETIME, łańcuchy). Mieszane typy (np. liczby i ciągi znaków) nie są dozwolone. Wartości NaN i NULL są ignorowane i wykluczane z zwracanej kolekcji.
ORDER( n1, n2, n3 , … )
ORDER( collection )Przykłady:
ORDER(3, 1, 2) = {1, 2, 3}
ORDER(1) = {1}
ORDER(3, NaN, 2, NaN) = {2, 3}
ORDER(NaN) = {}
ORDER('Z', 'a', 'X') = {'X', 'Z', 'a'}
ORDER(“str1”, “STR2”, “stR1”} = {"STR2", "stR1", "str1"}
ORDER(“str1”, NULL, “STR2”, “stR1”} = {"STR2", "stR1", "str1"}
ORDER(TIMESPAN(0,0,0,0,100), TIMESPAN(0,0,0,0,99) = {TIMESPAN(0,0,0,0,99), TIMESPAN(0,0,0,0,100)}
ORDER(NULL, TIMESPAN(0,0,0,0,99) = {TIMESPAN(0,0,0,0,99)}ORDERINDEX
Funkcja ORDERINDEX sortuje podane wartości wejściowe rosnąco, podobnie jak ORDER. Zamiast zwracać posortowane wartości, zwraca kolekcję indeksów wskazujących pozycje oryginalnych wartości w posortowanej kolejności. Akceptuje n wartości (do 100 argumentów) lub jedną kolekcję. Wartości nie muszą być liczbowe, ale muszą być porównywalne (np. liczby, TIMESPAN, DATETIME, łańcuchy). Mieszane typy (np. liczby i łańcuchy) nie są dozwolone. Wartości NaN i NULL są ignorowane i wykluczane z zwracanej kolekcji.
ORDERINDEX( n1, n2, n3 , … )
ORDERINDEX( collection )Przykłady:
ORDERINDEX(3, 1, 2) = {1, 2, 0}
ORDERINDEX(1) = {0}
ORDERINDEX(3, NaN, 2, NaN) = {2, 0}
ORDERINDEX(NaN) = {}
ORDERINDEX('Z', 'a', 'X') = {2, 0, 1}
ORDERINDEX(“str1”, “STR2”, “stR1”} = {1, 2, 0}
ORDERINDEX(“str1”, NULL, “STR2”, “stR1”} = {2, 3, 0}
ORDERINDEX(TIMESPAN(0,0,0,0,100), TIMESPAN(0,0,0,0,99) = {1, 0}
ORDERINDEX(NULL, TIMESPAN(0,0,0,0,99) = {1}ORDERSTRICT
Funkcja ORDERSTRICT sortuje podane wartości wejściowe rosnąco i zwraca je w nowej kolekcji. Akceptuje n wartości (do 100 argumentów) lub jedną kolekcję. Wartości nie muszą być liczbowe, ale muszą być porównywalne (np. liczby, TIMESPAN, DATETIME, łańcuchy). Mieszane typy (np. liczby i łańcuchy) nie są dozwolone. Wartości NaN i NULL są uwzględniane i zawsze sortowane jako pierwsze w wyniku.
ORDERSTRICT( n1, n2, n3 , … )
ORDERSTRICT( collection )Przykłady:
ORDERSTRICT(3, 1, 2) = {1, 2, 3}
ORDERSTRICT(1) = {1}
ORDERSTRICT(3, NaN, 2, NaN) = {NaN, NaN, 2, 3}
ORDERSTRICT(NaN) = {NaN}
ORDERSTRICT('Z', 'a', 'X') = {'X', 'Z', 'a'}
ORDERSTRICT(“str1”, “STR2”, “stR1”} = {"STR2", "stR1", "str1"}
ORDERSTRICT(“str1”, NULL, “STR2”, “stR1”} = {NULL, "STR2", "stR1", "str1"}
ORDERSTRICT(TIMESPAN(0,0,0,0,100), TIMESPAN(0,0,0,0,99) = {TIMESPAN(0,0,0,0,99), TIMESPAN(0,0,0,0,100)}
ORDERSTRICT(NULL, TIMESPAN(0,0,0,0,99) = {NULL, TIMESPAN(0,0,0,0,99)}ORDERINDEXSTRICT
Funkcja ORDERINDEXSTRICT sortuje podane wartości wejściowe rosnąco, podobnie jak ORDERSTRICT. Zamiast zwracać posortowane wartości, zwraca kolekcję indeksów wskazujących pozycje oryginalnych wartości w posortowanej kolejności. Akceptuje n wartości (do 100 argumentów) lub jedną kolekcję. Wartości nie muszą być liczbowe, ale muszą być porównywalne (np. liczby, TIMESPAN, DATETIME, łańcuchy). Mieszane typy (np. liczby i łańcuchy) nie są dozwolone. Wartości NaN i NULL są uwzględniane i zawsze sortowane jako pierwsze w wyniku.
ORDERINDEXSTRICT( n1, n2, n3 , … )
ORDERINDEXSTRICT( collection )Przykłady:
ORDERINDEXSTRICT(3, 1, 2) = {1, 2, 0}
ORDERINDEXSTRICT(1) = {0}
ORDERINDEXSTRICT(3, NaN, 2, NaN) = {1, 3, 2, 0}
ORDERINDEXSTRICT(NaN) = {0}
ORDERINDEXSTRICT('Z', 'a', 'X') = {2, 0, 1}
ORDERINDEXSTRICT(“str1”, “STR2”, “stR1”} = {1, 2, 0}
ORDERINDEXSTRICT(“str1”, NULL, “STR2”, “stR1”} = {1, 2, 3, 0}
ORDERINDEXSTRICT(TIMESPAN(0,0,0,0,100), TIMESPAN(0,0,0,0,99) = {1, 0}
ORDERINDEXSTRICT(NULL, TIMESPAN(0,0,0,0,99) = {0, 1}ORDERDESC
Funkcja ORDERDESC sortuje podane wartości wejściowe w porządku malejącym i zwraca je w nowej kolekcji. Akceptuje n wartości (do 100 argumentów) lub jedną kolekcję. Wartości nie muszą być liczbowe, ale muszą być porównywalne (np. liczby, TIMESPAN, DATETIME, łańcuchy). Mieszane typy (np. liczby i łańcuchy) nie są dozwolone. Wartości NaN i NULL są ignorowane i wykluczone z zwracanej kolekcji.
ORDERDESC( n1, n2, n3 , … )
ORDERDESC( collection )Przykłady:
ORDERDESC(3, 1, 2) = {3, 2, 1}
ORDERDESC(1) = {1}
ORDERDESC(3, NaN, 2, NaN) = {3, 2}
ORDERDESC(NaN) = {}
ORDERDESC('Z', 'a', 'X') = {'a', 'Z', 'X'}
ORDERDESC(“str1”, “STR2”, “stR1”} = {"str1", "stR1", "STR2"}
ORDERDESC(“str1”, NULL, “STR2”, “stR1”} = {"str1", "stR1", "STR2"}
ORDERDESC(TIMESPAN(0,0,0,0,100), TIMESPAN(0,0,0,0,99) = {TIMESPAN(0,0,0,0,100), TIMESPAN(0,0,0,0,99)}
ORDERDESC(NULL, TIMESPAN(0,0,0,0,99) = {TIMESPAN(0,0,0,0,99)}ORDERINDEXDESC
Funkcja ORDERINDEXDESC sortuje podane wartości wejściowe w porządku malejącym, podobnie jak ORDERDESC. Zamiast zwracać posortowane wartości, zwraca kolekcję indeksów wskazujących pozycje oryginalnych wartości w posortowanej kolejności. Akceptuje n wartości (do 100 argumentów) lub jedną kolekcję. Wartości nie muszą być liczbowe, ale muszą być porównywalne (np. liczby, TIMESPAN, DATETIME, łańcuchy). Mieszane typy (np. liczby i łańcuchy) nie są dozwolone. Wartości NaN i NULL są ignorowane i wykluczane z wyniku.
ORDERINDEXDESC( n1, n2, n3 , … )
ORDERINDEXDESC( collection )Przykłady:
ORDERINDEXDESC(3, 1, 2) = {0, 2, 1}
ORDERINDEXDESC(1) = {0}
ORDERINDEXDESC(3, NaN, 2) = {0, 2}
ORDERINDEXDESC(NaN) = {}
ORDERINDEXDESC('Z', 'a', 'X') = {1, 0, 2}
ORDERINDEXDESC(“str1”, “STR2”, “stR1”} = {0, 2, 1}
ORDERINDEXDESC(“str1”, NULL, “STR2”, “stR1”} = {0, 3, 2}
ORDERINDEXDESC(TIMESPAN(0,0,0,0,100), TIMESPAN(0,0,0,0,99) = {0, 1}
ORDERINDEXDESC(NULL, TIMESPAN(0,0,0,0,99) = {1}ORDERDESCSTRICT
Funkcja ORDERDESCSTRICT sortuje podane wartości wejściowe w porządku malejącym i zwraca je w nowej kolekcji. Akceptuje n wartości (do 100 argumentów) lub jedną kolekcję. Wartości nie muszą być liczbowe, ale muszą być porównywalne (np. liczby, TIMESPAN, DATETIME, łańcuchy). Mieszane typy (np. liczby i łańcuchy) nie są dozwolone. Wartości NaN i NULL są uwzględniane i zawsze sortowane jako pierwsze w wyniku.
ORDERDESCSTRICT( n1, n2, n3 , … )
ORDERDESCSTRICT( collection )Przykłady:
ORDERDESCSTRICT(3, 1, 2) = {3, 2, 1}
ORDERDESCSTRICT(1) = {1}
ORDERDESCSTRICT(3, NaN, 2, NaN = {NaN, NaN, 3, 2}
ORDERDESCSTRICT(NaN) = {NaN}
ORDERDESCSTRICT('Z', 'a', 'X') = {'a', 'Z', 'X'}
ORDERDESCSTRICT(“str1”, “STR2”, “stR1”} = {"str1", "stR1", "STR2"}
ORDERDESCSTRICT(“str1”, NULL, “STR2”, “stR1”} = {NULL, "str1", "stR1", "STR2"}
ORDERDESCSTRICT(TIMESPAN(0,0,0,0,100), TIMESPAN(0,0,0,0,99) = {TIMESPAN(0,0,0,0,100), TIMESPAN(0,0,0,0,99)}
ORDERDESCSTRICT(NULL, TIMESPAN(0,0,0,0,99) = {NULL, TIMESPAN(0,0,0,0,99)}ORDERINDEXDESCSTRICT
Funkcja ORDERINDEXDESCSTRICT sortuje podane wartości wejściowe w porządku malejącym, podobnie jak ORDERDESC. Zamiast zwracać posortowane wartości, zwraca kolekcję indeksów wskazujących pozycje oryginalnych wartości w posortowanej kolejności. Akceptuje n wartości (do 100 argumentów) lub jedną kolekcję. Wartości nie muszą być liczbowe, ale muszą być porównywalne (np. liczby, TIMESPAN, DATETIME, łańcuchy). Mieszane typy (np. liczby i łańcuchy) nie są dozwolone. Wartości NaN i NULL są ignorowane i wykluczane z zwracanego wyniku.
ORDERINDEXDESCSTRICT( n1, n2, n3 , … )
ORDERINDEXDESCSTRICT( collection )Przykłady:
ORDERINDEXDESCSTRICT(3, 1, 2) = {0, 2, 1}
ORDERINDEXDESCSTRICT(1) = {0}
ORDERINDEXDESCSTRICT(3, NaN, 2, NaN) = {1, 3, 0, 2}
ORDERINDEXDESCSTRICT(NaN) = {0}
ORDERINDEXDESCSTRICT('Z', 'a', 'X') = {1, 0, 2}
ORDERINDEXDESCSTRICT(“str1”, “STR2”, “stR1”} = {0, 2, 1}
ORDERINDEXDESCSTRICT(“str1”, NULL, “STR2”, “stR1”} = {0, 3, 2}
ORDERINDEXDESCSTRICT(TIMESPAN(0,0,0,0,100), TIMESPAN(0,0,0,0,99) = {0, 1}
ORDERINDEXDESCSTRICT(NULL, TIMESPAN(0,0,0,0,99) = {0, 1}