Funkcje
Funkcje ciągów znaków
Przy pracy z ciągami znaków w wyrażeniach ważne jest używanie pojedynczych cudzysłowów (’’) do owijania dosłownych ciągów. Wyjątek pojawia się gdy chcesz dołączyć pojedyncze cudzysłowy w dosłownym ciągu — w takim przypadku możesz użyć podwójnych cudzysłowów ("") do owinięcia całego ciągu.
rtSurvey obsługuje różne funkcje, w tym:
string(pole): Konwertuje pole na ciąg znaków.- Przykład:
string(34.8)zostanie skonwertowane na'34.8'.
- Przykład:
string-length(pole): Zwraca długość pola ciągu znaków.- Przykład:
string-length(.) > 3 and string-length(.) < 10może być używane do zapewnienia, że bieżące pole ma od 3 do 10 znaków.
- Przykład:
substr(pole_lub_ciag, indeks_poczatkowy, indeks_koncowy): Zwraca podciąg zaczynający się odindeks_poczatkowyi kończący się tuż przedindeks_koncowy. Indeksy zaczynają się od 0 dla pierwszego znaku.- Przykład:
substr(${phone}, 0, 3)zwróci pierwsze trzy cyfry numeru telefonu.
- Przykład:
concat(a, b, c, ...): Łączy pola (i/lub ciągi znaków) razem.- Przykład:
concat(${firstname}, ' ', ${lastname})zwróci pełne imię i nazwisko.
- Przykład:
linebreak(): Zwraca znak nowej linii.lower(): Konwertuje ciąg na małe litery.upper(): Konwertuje ciąg na wielkie litery.
Funkcje select_one i select_multiple
count-selected(pole): Zwraca liczbę elementów wybranych w polu select_multiple.selected(pole, wartosc): Zwraca prawdę lub fałsz w zależności od tego, czy podana wartość została wybrana.- Przykład:
selected(${color}, 'Blue')— pokaż grupę jeśli respondent wybrał „Blue".
- Przykład:
selected-at(pole, numer): Zwraca wybrany element na określonej pozycji w polu select_multiple.choice-label(pole, wartosc): Zwraca etykietę dla wyboru w polu select_one lub select_multiple.
Funkcje pól powtarzanych
join(ciag, pole_powtarzane): Dla pola w grupie powtórzeń generuje listę wartości oddzieloną podanym separatorem.- Przykład:
join(', ', ${member_name})wygeneruje listę oddzieloną przecinkami.
- Przykład:
count(grupa_powtorzen): Zwraca bieżącą liczbę powtórzeń grupy powtórzeń.sum(pole_powtarzane): Dla pola w grupie powtórzeń oblicza sumę wszystkich wartości.min(pole_powtarzane): Dla pola w grupie powtórzeń oblicza minimum wszystkich wartości.max(pole_powtarzane): Dla pola w grupie powtórzeń oblicza maksimum wszystkich wartości.
Funkcje daty i czasu
today(): Zwraca bieżącą datę.now(): Zwraca bieżącą datę i czas.date(wartosc): Konwertuje wartość na datę.date-time(wartosc): Konwertuje wartość na datę i czas.decimal-date-time(wartosc): Konwertuje datę/czas na reprezentację dziesiętną.format-date(data, wzorzec): Formatuje datę zgodnie z podanym wzorcem.
Funkcje numeryczne
int(wartosc): Konwertuje wartość na integer (obcina część dziesiętną).number(wartosc): Konwertuje wartość na liczbę.round(wartosc, miejsca): Zaokrągla liczbę do podanej liczby miejsc dziesiętnych.floor(liczba): Zwraca największą liczbę całkowitą mniejszą lub równąliczba.ceiling(liczba): Zwraca najmniejszą liczbę całkowitą większą lub równąliczba.random(): Zwraca losową liczbę dziesiętną od 0,0 (włącznie) do 1,0 (wyłącznie).coalesce(a, b): Zwracaajeślianie jest puste; w przeciwnym razie zwracab.once(wartosc): Oceniawartosci przechowuje ją, ale tylko jeśli bieżące pole jest puste.- Przykład:
once(uuid())generuje UUID raz i zachowuje go stabilnym podczas ponownych edycji.
- Przykład:
Funkcje geo
area(wartosc_geoshape): Oblicza powierzchnię w metrach kwadratowych otoczoną przez geoshape (wielokąt).- Przykład:
area(${field_boundary})— oblicz powierzchnię ankietowanego pola w m².
- Przykład:
distance(wspolrzedne): Oblicza całkowitą długość ścieżki w metrach geotrace (linii) lub odległość między dwoma geopointami.
Funkcje walidacji
regex(wartosc, wzorzec): Zwracaprawdęjeśliwartoscpasuje do wyrażenia regularnegowzorzec.- Przykład:
regex(., '^[0-9]{10}$')— sprawdź poprawność 10-cyfrowego numeru.
- Przykład:
checklist(min, max, w1, w2, ...): Ocenia listę wyrażeń boolean i zwracaprawdęjeśli liczba wartościprawdamieści się w zakresie odmindomax.
Funkcje narzędziowe
uuid(): Generuje losowy UUID (format RFC 4122 v4) jako ciąg znaków.- Zazwyczaj używany z
once()do generowania stabilnego unikalnego ID:once(uuid())
- Zazwyczaj używany z
version(): Zwraca wartość atrybutuversionformularza.position(): Gdy wywoływana wewnątrz grupy powtórzeń, zwraca 1-bazowany indeks bieżącej instancji powtórzenia.substr-jsonpath(wartosc, jsonpath): Wyodrębnia podciąg z ciągu JSON używając wyrażenia JSONPath.- Zazwyczaj używany wraz z
callapi()do wyodrębniania konkretnych wartości z odpowiedzi API.
- Zazwyczaj używany wraz z