Wskazówki

Aplikacja ArcGIS Survey123 obsługuje wiele specyfikacji XLSForm. Niniejszy przewodnik zawiera podsumowanie obiektów XLSForm, których można używać w aplikacji Survey123. Ankiety można tworzyć w aplikacji Survey123 Connect lub witrynie Survey123 — niektóre obiekty są dostępne tylko w aplikacji lub tylko w witrynie, a inne są dostępne zarówno w aplikacji, jak i w witrynie.

Typy pytań

Poniższa tabela zawiera opis typów pytań, które są dostępne w aplikacji Survey123 Connect, aplikacji terenowej Survey123, w kreatorze internetowym Survey123 i aplikacji internetowej Survey123. W przypadku niektórych pytań występują różnice w zachowaniu i implementacji na różnych platformach. Różnice są podane w uwagach po tabeli.

Typ pytania Survey123 ConnectTyp pytania w kreatorze internetowym Survey123OpisObsługiwane w aplikacji terenowej Survey123Obsługiwane w aplikacji internetowej Survey123
audio⁴Dźwięk⁴ ⁶

Nagrywa klip dźwiękowy w aplikacji terenowej. Nagrywa klip dźwiękowy lub akceptuje przesłany plik dźwiękowy w aplikacji internetowej.

Tak

Tak

barcode

Kod kreskowy

Skanuje kod kreskowy lub kod QR.

Tak

Tak

begin group

Grupa, Strona

Rozpoczyna grupę pytań.

Tak

Tak

begin repeat

Brak

Rozpoczyna zestaw pytań powtarzalnych.

Tak

Tak

oblicz

Brak

Wykonuje obliczenia na wartościach w formularzu. Pole calculate (oblicz) zawiera wynik obliczeń.

Tak

Tak

decimal¹

Liczba¹ ⁶

Dane wejściowe w postaci dziesiętnej.

Tak

Tak

date (data)

Data⁶

Dane wejściowe w postaci daty.

Tak

Tak

dateTime

Data i czas⁶

Dane wejściowe w postaci daty i czasu.

Tak

Tak

deviceid

Brak

Identyfikator UUID reprezentujący konkretne urządzenie, na którym wypełniono ankietę.

Tak

Nie

email²

Brak

Po zalogowaniu się na koncie instytucji to pytanie zostanie automatycznie wypełnione adresem e-mail konta.

Tak

Tak

end

Brak

Data i czas ukończenia ankiety.

Tak

Tak

end group

Grupa, Strona

Kończy grupę pytań.

Tak

Tak

end repeat

Brak

Kończy zestaw pytań powtarzalnych.

Tak

Tak

plik

Przesłanie pliku

Akceptuje plik na urządzeniu.

Tak

Tak

geopoint³

Mapa³ ⁶

Zbiera określone współrzędne GPS. Wartością domyślną jest lokalizacja bieżąca.

Tak

Tak

geoshape³

Rejestruje poligon na mapie.

Tak

Tak

geotrace³

Rejestruje linię na mapie.

Tak

Tak

ukryte

Brak

W warstwie obiektowej tworzy pole, które nie jest wyświetlane na formularzu. Użyj kolumn bind::esri:fieldType i bind::esri:fieldLength, aby określić schemat danych dla tego pola.

Tak

Tak

integer¹

Liczba¹ ⁶

Dane wejściowe w postaci liczby całkowitej.

Tak

Tak

image

Obraz, Podpis

Akceptuje obraz z plików na urządzeniu lub bezpośrednio zrobione zdjęcie.

Tak

Tak

note

Notatka⁶

Wyświetla tekst na ekranie. Notatka może także zawierać ukryte obliczenia.

Tak

Tak

zakresSuwak⁶

Dane wejściowe w podanym zakresie liczbowym.

Tak

Tak

rank list_name

Ranking⁶

Pytanie typu ranking; porządkuje listę możliwości wyboru. Zastąp list_name nazwą listy wyboru.

Tak

Tak

select_one list_name

Menu rozwijane⁵ ⁶, Skala Likerta⁵ ⁶, Ocena⁶, Wybór pojedynczy⁶, Siatka typu Wybór pojedynczy⁶

Pytanie z wieloma możliwościami odpowiedzi, można wybrać tylko jedną odpowiedź. Zastąp list_name nazwą listy wyboru.

Tak

Tak

select_one_from_file file_name.csv

Brak

Pytanie z wieloma możliwościami odpowiedzi, można wybrać tylko jedną odpowiedź. Zastąp file_name.csv nazwą pliku znajdującego się w folderze multimediów ankiety, który zawiera listę możliwości wyboru.

Tak

Tak

select_multiple list_name

Wybór wielokrotny⁶

Pytanie z wieloma możliwościami odpowiedzi, można wybrać wiele odpowiedzi. Zastąp list_name nazwą listy wyboru.

Tak

Tak

select_multiple_from_file file_name.csv

Brak

Pytanie z wieloma możliwościami odpowiedzi, można wybrać wiele odpowiedzi. Zastąp file_name.csv nazwą pliku znajdującego się w folderze multimediów ankiety, który zawiera listę możliwości wyboru.

Tak

Tak

start

Brak

Data i czas rozpoczęcia ankiety.

Tak

Tak

text

Adres⁶, Adres e-mail⁶, Tekst wielowierszowy⁵ ⁶, Tekst jednowierszowy⁶, Witryna⁶

Odpowiedź tekstowa. Do adresu e-mail i witryny jest stosowane wyrażenie regularne. Do adresu stosowany jest wygląd geocode (geokodowanie).

Tak

Tak

czas

Czas⁶

Dane wejściowe w postaci czasu.

Tak

Tak

username

Brak

Po zalogowaniu się na koncie instytucji to pytanie zostanie automatycznie wypełnione nazwą użytkownika konta.

Tak

Tak

¹Kreator internetowy łączy pytania typu integer (liczba całkowita) i decimal (wartość dziesiętna) w jeden typ pytania o nazwie Number (liczba). Pole wyboru we właściwościach pytania umożliwia projektantowi ankiety zdefiniowanie, jakie dane wejściowe są wymagane.

²Typy pytań email (adres e-mail) udostępnione w aplikacji Survey123 Connect i w kreatorze internetowym Survey123 są różnie zaimplementowane. Implementacja w aplikacji Survey123 Connect jest zapełniana automatycznie adresem e-mail konta instytucji, do którego jest zalogowany użytkownik. Implementacja w kreatorze internetowym Survey123 jest natomiast polem tekstowym, które przyjmuje tylko formatowanie dopasowane do adresu e-mail.

³Pytania typu geopoint (punkt geograficzny), geotrace (ślad geograficzny) i geoshape (kształt geograficzny) zostały połączone w jeden typ pytania o nazwie map (mapa). Pole wyboru we właściwościach pytania umożliwia projektantowi ankiety zdefiniowanie, jakie dane wejściowe są wymagane. Dodatkowy typ pytania o nazwie address (adres) pozwala na przesyłanie punktów geokodowanych.

⁴Pytania typu audio nie pozwalają na przesyłanie w aplikacji terenowej Survey123 tak jak w aplikacji internetowej. Aby pozwolić na przesyłanie dźwięku w aplikacji terenowej, użyj pytania typu file (plik).

⁵Kilka wyglądów dostępnych w aplikacji Survey123 Connect jest natomiast dostępnych jako oddzielne typy pytań w kreatorze internetowym Survey123. Dotyczy to typów: Tekst wielowierszowy, Menu rozwijane poziome i Skala Likerta.

⁶Dla każdego pytania kreator internetowy udostępnia możliwość zapisania odpowiedzi w pamięci podręcznej. W aplikacji internetowej po przesłaniu rekordu ankiety odpowiedź na pytanie zostanie zapisana w pamięci podręcznej przeglądarki i wstępnie wczytana do następnego przesłania w ramach tej ankiety na danym urządzeniu. Zapisywanie odpowiedzi w pamięci podręcznej może być skonfigurowane dla wszystkich typów pytań z wyjątkiem typów Dźwięk, Obraz, Przesłanie pliku i Podpis.

Kolumny arkusza ankiety

Poniższa tabela zawiera wszystkie kolumny obsługiwane w aplikacji Survey123. Te kolumny są zawarte w arkuszu ankiety w szablonie zaawansowanym i są wymienione w tej tabeli w kolejności, w jakiej występują w arkuszu.

KolumnaOpis
typ

Wybierz typ pytania z udostępnionej listy. Wprowadź prawidłową nazwę listy, jeśli używane jest pytanie typu select_one (wybierz jedną) lub select_multiple (wybierz wiele).

name

Nazwa pola w warstwie obiektowej.

label

Etykieta pytania wyświetlana w ankiecie.

hint

Informacje ułatwiające udzielenie odpowiedzi na pytanie ankiety.

guidance_hint

Dodatkowe informacje wyświetlane po wybraniu ikony.

appearance

Ustala wygląd tego pola w ankiecie.

required

Wybierz opcję tak, aby wartość w tym polu była wymagana przy wypełnianiu ankiety.

required_message (wymagany komunikat)

Gdy w wymaganym polu nie zostanie podana odpowiedź, zostanie wyświetlony komunikat zdefiniowany w tej kolumnie monitujący o podanie odpowiedzi.

readonly

Wybierz opcję tak, aby skonfigurować wartości w tym polu jako tylko do odczytu. Wartości tych nie będzie można edytować w ankiecie.

default

Konfiguruje wartość domyślną dla tego pola. Powoduje wstępne wypełnienie ankiety wartością domyślną. Pozwala to zaoszczędzić czas poprzez udzielenie często stosowanej odpowiedzi lub przez wskazanie oczekiwanego typu odpowiedzi.

calculation

Przeprowadza obliczenia z wykorzystaniem wartości zawartych w poprzednich pytaniach (na przykład ${number} * 100). Wskazuje pole obliczeniowe wyświetlające wynik (na przykład The answer is ${calc}).

constraint

Ogranicz zakres liczb, które można wprowadzać (na przykład .>0 i .<100). Ograniczenia można używać w pytaniach wszystkich typów.

constraint_message

Gdy warunki w ograniczeniu nie są spełnione, zostanie wyświetlony komunikat z prośbą o podanie prawidłowej odpowiedzi.

relevant

Umożliwia pomijanie pytań lub wyświetlanie pytań dodatkowych na podstawie odpowiedzi udzielonej na poprzednie pytanie. Pytanie staje się widoczne, jeśli spełnia warunki określone w kolumnie relevant (odpowiednie) (na przykład ${name} = 'value'). Pytanie ukryte przez tę kolumnę przesyła tylko wartości puste.

choice_filter

Przy stosowaniu kaskadowych wyborów w polu tym przechowywane jest wyrażenie łączące dodatkowe kolumny atrybutów w tabeli możliwości wyboru (na przykład attribute = ${value}).

repeat_count

Ta wartość określa dopuszczalną liczbę rekordów w powtórzeniu. Po określeniu liczby powtórzeń nie można dodawać ani usuwać rekordów w powtórzeniu.

media::audio

Skopiuj plik dźwiękowy do podfolderu multimediów w projekcie i wpisz nazwę tego pliku (na przykład audio.mp3), aby w pytaniu umieścić materiał dźwiękowy.

media::image

Skopiuj plik obrazu do podfolderu multimediów w projekcie i wpisz nazwę tego pliku (na przykład obraz.jpg), aby w pytaniu wyświetlić obraz.

bind::type

Typ pola zastępujący domyślny typ pola w pytaniu.

bind::esri:fieldType

Definiuje docelowy typ pola w warstwie obiektowej. Umożliwia zastąpienie domyślnego typu pola (na przykład pola calculate i select_one domyślnie mają typ ciągu znakowego. Aby w warstwie obiektowej zapisywać wartości jako liczby całkowite, wybierz typ esriFieldTypeInteger).

bind::esri:fieldLength

Definiuje docelową długość pola w warstwie obiektowej. Umożliwia zastąpienie domyślnej długości pola.

bind::esri:fieldAlias

Określa wartość aliasu pola w warstwie obiektowej. Umożliwia zastąpienie domyślnych wartości aliasu pola pochodzących z etykiety pytania.

body::esri:style

Definiuje wyrażenie określające styl i zachowanie pytania (na przykład kolor tła dla grup i powtórzeń).

bind::esri:parameters

Definiuje parametry pytania właściwe dla aplikacji Survey123 (na przykład funkcjonowanie powtórzeń w trakcie edycji ankiety).

bind::esri:workflow

Zapewnia parametry umożliwiające udostępnienie ankiety w trybie pomiaru dalmierzem.

parameters

Definiuje standardowe parametry XLSForm dla pytania, na przykład start, end i step dla pytania typu range (zakres).

body::accept

Określa typy plików akceptowane dla pytania typu file (plik). Akceptuje rozszerzenia nazw plików, przy czym wiele rozszerzeń nazw plików oddzielane jest przecinkami (np. .jpg, .png).

body::esri:visible

Umożliwia pomijanie pytań lub wyświetlanie pytań dodatkowych na podstawie odpowiedzi udzielonej na poprzednie pytanie. Pytanie staje się widoczne, jeśli spełnia warunki określone w kolumnie body::esri:visible (na przykład ${name} = 'value'). Pytanie ukryte przez tę kolumnę nadal zawiera i przesyła wartości.

body::esri:inputMask

Definiuje wyrażenie służące jako maska wejściowa ustalonego formatu wprowadzanych danych określona przy użyciu znaków i symboli.

label::language (xx)

W tym miejscu należy umieścić tłumaczenie etykiet pytań. Język należy zdefiniować za pomocą nazwy i kodu (na przykład label::Español (es)). Dla każdego języka należy dodać nową kolumnę. Lista języków wyświetlana jest w menu rozwijanym w ankiecie.

hint::language (xx)

W tym miejscu należy umieścić tłumaczenie wskazówek dotyczących pytań. Język należy zdefiniować za pomocą nazwy i kodu (na przykład hint::Español (es)). Dla każdego języka należy dodać nową kolumnę. Lista języków wyświetlana jest w menu rozwijanym w ankiecie.

guidance_hint::language (xx)

W tym miejscu należy umieścić tłumaczenie wskazówek. Język należy zdefiniować za pomocą nazwy i kodu (na przykład guidance_hint::Español (es)). Dla każdego języka należy dodać nową kolumnę. Lista języków wyświetlana jest w menu rozwijanym w ankiecie.

required_message::language (xx)

Podaj tłumaczenie komunikatu, który pojawia się w przypadku braku odpowiedzi na wymagane pytanie. Język należy zdefiniować za pomocą nazwy i kodu (na przykład required_message::Español (es)). Dla każdego języka należy dodać nową kolumnę. Lista języków wyświetlana jest w menu rozwijanym w ankiecie.

body::accuracyThreshold

Podaj wartość liczbową progu (w metrach), powyżej którego wartości pozycji nie będą akceptowane. Dotyczy punktów geograficznych i wierzchołków pytań typu geoshape (kształt geograficzny) i geotrace (ślad geograficzny).

bind::esri:warning

Stosuje wyrażenie powodujące wyświetlanie ostrzeżeń w przypadku, gdy warunki nie są spełnione.

bind::esri:warning_message

Komunikat wyświetlany, gdy nie są spełnione warunki wyrażenia bind::esri:warning.

bind::saveIncomplete

Skonfiguruj jako true (prawda), jeśli aplikacja ma automatycznie zapisywać odpowiedź na pytanie.

Wyglądy

Poniższe wartości można wprowadzać w kolumnie wyglądu dla konkretnych typów pytań, aby zmienić sposób ich wyświetlania lub działania. Więcej informacji zawiera sekcja Wygląd.

WyglądOdpowiedni typ pytaniaOpisObsługiwane w aplikacji terenowej Survey123Obsługiwane w aplikacji internetowej Survey123

annotate (komentarz)

image

Umożliwia użytkownikowi otwarcie okna, w którym można szkicować. Obsługuje ono także opisy na obrazach.

Tak

Tak

autocomplete (automatyczne uzupełnianie)

select_one

Możliwości wyboru odpowiedzi są wyświetlane w menu rozwijanym z danymi wejściowymi w postaci tekstu w celu zmniejszenia liczby dostępnych opcji.

Tak

Tak

calculator (kalkulator)

integer, decimal

Wyświetla niestandardowy widżet kalkulatora dla tego pytania.

Tak

Nie

compact

select_one, select_multiple, begin group, begin repeat

W przypadku pytań select_one i select_multiple prezentuje wybory poziomo w sposób oszczędzający miejsce. W przypadku grup i powtórzeń po uruchomieniu pytania są prezentowane w postaci zwiniętej i mogą zostać rozwinięte przez użytkownika.

Tak

Tak

compact-n

select_one, select_multiple

Prezentuje wybory poziomo w sposób oszczędzający miejsce, a maksymalna liczba kolumn jest określona za pomocą wartości n. Na przykład compact-3 ogranicza pytanie do maksymalnie trzech kolumn.

Tak

Tak

distress

liczba całkowita

Wyświetla pytanie w postaci kolorowej skali przesuwnej.

Tak

Nie

draw (rysuj)

image

Umożliwia użytkownikowi otwarcie okna, w którym można szkicować.

Tak

Tak

field-list

begin group, begin repeat

Wyświetla grupę pytań na osobnej stronie, gdy styl ankiety został skonfigurowany jako Strony.

Tak

Tak

geokodowanie

text

Wyszukanie i przesłanie geokodowanego adresu.

Tak

Tak

getinframarkerid

text

Pobierz i zapisz unikalny 24-znakowy identyfikator znacznika InfraMarker.

Tak

Nie

ukryte

Wszystkie

Ukrywa pytanie w widoku, jednak w pytaniu nadal są akceptowane wartości domyślne i obliczenia.

Tak

Tak

hide-input (ukryj-dane-wejściowe)

geopoint

Zwija sekcję wpisów współrzędnych, gdy ankieta jest otwarta w aplikacji internetowej.

Nie

Tak

horizontal (poziomo)

select_one, select_multiple

Wyświetla możliwości wyboru odpowiedzi poziomo i w kolumnach.

Tak

Tak

horizontal-compact

select_one, select_multiple

Tak samo, jak w przypadku wyglądu kompaktowego (compact).

Tak

Tak

image-map

select_one, select_multiple

Wyświetla dołączony obraz .svg z możliwymi do wybrania regionami.

Tak

Nie

inframarker

text

Podaj informacje, które mają zostać zapisane w znaczniku InfraMaker.

Tak

Nie

likert

select_one

Wyświetla możliwości wyboru odpowiedzi w postaci skali Likerta.

Tak

Tak

minimal (minimalne)

select_one, select_multiple, barcode, begin repeat

Przedstawia wiele odpowiedzi (select_one, select_multiple), wiele pytań (repeats) i pole tekstowe (barcode) w postaci ukrytej lub zminimalizowanej.

Tak

Tak

minimal compact

begin repeat

Przedstawia pytania w powtórzeniu w postaci zwiniętej (compact) i ukrytej (minimal).

Tak

Tak

month-year (miesiąc-rok)

date (data)

Wybiera tylko miesiąc i rok dla daty.

Tak

Tak

multiline (wielowierszowe)

text, image, file

Przedstawia pytanie typu text (tekst) jako wielowierszowe pole tekstowe. Obsługuje wiele załączników w przypadku pytania typu image (obraz) lub file (plik).

Tak

Tak

new-front (nowy-przedni)

image

Ogranicza pytanie tylko do zrobienia zdjęcia za pomocą aparatu przedniego jako domyślnego.

Tak

Nie

new-rear (nowy-tylny)

image

Ogranicza pytanie tylko do zrobienia zdjęcia za pomocą aparatu tylnego jako domyślnego.

Tak

Nie

no-ticks

zakres

Wyświetla suwak zakresu bez pozycji, wartości minimalnych i maksymalnych.

Tak

Tak

nopredictivetext (bez przewidywania tekstu)

text

Wyłącza funkcję przewidywania tekstu dla urządzeń przenośnych.

Tak

Nie

numbers (liczby)

integer, decimal

Wyświetla niestandardową klawiaturę numeryczną dla tego pytania.

Tak

Nie

predictivetext (tekst przewidywany)

text

Włącza funkcję przewidywania tekstu dla urządzeń przenośnych.

Tak

Nie

press-to-locate

geopoint (geopunkt), geotrace (ślad geograficzny), geoshape (kształt geograficzny)

W pytaniach typu geopoint (geopunkt) lokalizacja jest akceptowana tylko wtedy, gdy użytkownik wykona operacje na pytaniu. W przypadku pytań typu geotrace (ślad geograficzny) lub geoshape (kształt geograficzny) lokalizacja użytkownika zostaje wyśrodkowana podczas pierwszej interakcji z pytaniem, nie jest natomiast rejestrowany punkt.

Tylko geopoint (punkt geograficzny)

Tak

rangefinder

text

Akceptuje albo pełny obiekt JSON, albo określoną wartość zwracaną z dalmierza.

Tak

Nie

wyszukiwanie

text

Zapełnia listę wyboru wartościami z tabeli CSV w folderze media ankiety lub z istniejącej warstwy obiektowej albo tabeli.

Tak

Nie

Podpis

image

Wyświetla interfejs użytkownika służący do przechwytywania podpisu. Podpis jest dodawany do obiektu jako załącznik.

Tak

Tak

spike

image

Wymaga urządzenia Spike i aplikacji Spike. Wykorzystuje integrację z systemem Spike do pomiaru odległości i lokalizacji na zdjęciu.

Tak

Nie

spike-full-measure

image

Wymaga urządzenia Spike i aplikacji Spike. Wykorzystuje integrację z systemem Spike do pomiaru odległości, lokalizacji, obszaru i długości na zdjęciu.

Tak

Nie

spike-point-to-point

image

Wymaga urządzenia Spike i aplikacji Spike. Wykorzystuje integrację z systemem Spike do pomiaru odległości między dwoma sfotografowanymi punktami.

Tak

Nie

spinner

integer, decimal

Dodaje przyciski umożliwiające zwiększenie lub zmniejszenie wartości.

Tak

Nie

table-list

begin group

Prezentuje zestaw pytań typu select_one (wybierz jedną) wewnątrz grupy ze wspólną listą wyboru w formie tabeli.

Tak

Tak

thousands-sep (sep-tysięcy)

decimal

Wyświetla odpowiedzi z separatorami tysięcy. Dotyczy tylko wstępnie wypełnionych odpowiedzi.

Tak

Nie

week-number (numer-tygodnia)

date (data)

Wybiera numer tygodnia.

Tak

Nie

year (rok)

date (data)

Wybiera tylko rok dla daty.

Tak

Tak

Parametry

Niektóre typy pytań w formularzu XLSForm zawierają dodatkowe parametry pozwalające sterować stylem lub zachowaniem pytań w ankiecie. W niektórych przypadkach te parametry uzupełniają wyglądy obsługiwane przez typ pytania. Informacje ogólne na temat parametrów obsługiwanych przez poszczególne typy pytań zawiera sekcja Parametry XLSForm.

Wartości domyślne

Wprowadzenie wartości today() w kolumnie default (wartość domyślna) pytania typu date powoduje ustawienie wartości domyślnej na bieżącą datę.

Wprowadź wybór name (nazwa) — nie wybór label (etykieta) — dla domyślnych wartości pytań typu select_one (wybierz jedną).

Odpowiedzi na pytania typu select_multiple (wybierz wiele) działają inaczej niż w przypadku innych typów. Każda zaznaczona odpowiedź jest wprowadzana w kolejności, w jakiej została wybrana, a do rozdzielania odpowiedzi używane są przecinki. Aby zdefiniować wiele wartości jako wartości domyślne w pytaniu select_multiple, rozdziel je przecinkami, na przykład element1,element2,element3.

Weryfikacja danych

Wprowadzenie wartości yes (tak) w kolumnie required (wymagane) powoduje, że pytanie musi zawierać wartość, aby można było ukończyć wypełnianie formularza.

Operatory

Operatorów podanych w poniższej tabeli można używać w kolumnach XLSForm, które obsługują wyrażenia, włącznie z kolumnami constraint (ograniczenie), calculation (obliczenie) oraz relevant (odpowiednie).

Więcej informacji o obliczeniach i ograniczeniach zawiera sekcja Formuły, a informacje o używaniu kolumny relevant (odpowiednie) można znaleźć w sekcji Wyrażenia formularzy.

OperatorOpisPrzykład

.

Bieżąca odpowiedź

.=1

+

Dodawanie

${question_one} + 4

-

Odejmowanie

${question_one} - 4

*

Mnożenie

${question_one} * 4

div

Dzielenie

${question_one} div 4

=

Równy

${price}=9.80

!=

Nierówne

${price}!=9.80

<

Mniejsze niż

${price}<9.80

<=

Mniejsze lub równe

${price}<=9.80

>

Większe niż

${price}>9.80

>=

Większe lub równe

${price}>=9.80

and

I

${price}>9.00 and ${price}<9.90

mod

Dzielenie z resztą (reszta z dzielenia)

${question_one} mod ${question_two}

or

Lub

${price}=9.80 or ${price}=9.70

Funkcje

W aplikacji Survey123 są obsługiwane następujące funkcje:

FunkcjaOpisPrzykład

boolean(question, expression, or value)

Zwraca wartość prawda (true), jeśli została podana wartość inna niż null.

Zalecane jest użycie funkcji boolean-from-string() zamiast tej funkcji.

Uwaga:

Ta funkcja w aplikacji internetowej Survey123 zawsze zwraca wartość prawda (true). Inne możliwości można znaleźć w sekcji Wartości puste.

boolean(${question_one})

boolean-from-string()

Zwraca wartość prawda (true), jeśli został podany ciąg znakowy „true” lub „1”. W przeciwnym razie zwracana jest wartość fałsz (false).

boolean-from-string(${question_one})

coalesce(value1, value2)

Zwraca pierwszą wartość niepustą. Ta funkcja obsługuje tylko dwie wartości.

coalesce(${question_one}, ${question_two})

concat(value1, value2, …)

Zwraca konkatenację ciągów znakowych.

concat(${question_one}, ' and ', ${question_two})

contains(string, substring)

Zwraca wartość prawda (true), jeśli dany ciąg znakowy zawiera określony podciąg.

contains(${question_one}, 'red')

count(repeat)

Zwraca liczbę odpowiedzi na dane pytanie w powtórzeniach. Więcej informacji na ten temat zawiera sekcja Funkcje agregujące.

Notatka:

W aplikacji terenowej Survey123 tę funkcję można umieścić w powtórzeniu lub poza nim. Jeśli funkcja ma być używana w aplikacji internetowej Survey123, musi zostać umieszczona poza powtórzeniem. Wartość zliczenia spoza powtórzenia może być przywoływana w obliczeniu wewnątrz powtórzenia.

count(${question})

count-selected(question)

Zwraca liczbę wybranych odpowiedzi dla pytań typu select_one (wybierz jedną) i select_multiple (wybierz wiele). Ta funkcja zwraca również liczbę dołączonych plików dla pytań typu image (obraz), audio (dźwięk) oraz file (plik) z wyglądem multiline (wielowierszowy).

count-selected(${question_one})

date(question, expression, or value)

Przekształca liczbę lub ciąg znakowy w obiekt daty (bez czasu).

date('2017-05-28T04:39:02+10:00')

date-time(question, expression, or string)

Przekształca liczbę lub ciąg znakowy w obiekt daty.

date-time('2017-05-28T04:39:02+10:00')

decimal-date-time(question, expression, or string)

Przekształca obiekt daty w liczbę dziesiętną reprezentującą datę i czas.

decimal-date-time(${date_question})

decimal-time(question, expression, or string)

Przekształca obiekt czasu w liczbę reprezentującą wartość ułamkową pory dnia w strefie czasowej urządzenia.

decimal-time(${time_question})

ends-with(string, substring)

Zwraca wartość prawda (true), jeśli dany ciąg znakowy kończy się określonym podciągiem.

ends-with(${question_one}, 'hand.')

false()

Fałsz

false()

format-date()

Dopasowuje istniejącą wartość daty lub czasu do zdefiniowanego formatu.

format-date(${previous_time}, '%H:%M')

if(condition, a, b)

Jeśli warunek przyjmuje wartość prawda (true), zwraca a, w przeciwnym razie zwraca b.

if(selected(${question_one}, 'yes') and selected(${question_two}, 'yes'), 'yes', 'no')

indexed-repeat(pytanie, powtórzenie, numer indeksu)

Zwraca wartość z konkretnego pytania w rekordzie powtórzeń. Więcej informacji zawiera temat Powtórzenia.

indexed-repeat(${room_no}, ${floor}, 3)

int(question, expression, or value)

Służy do przekształcania do liczby całkowitej. Przekształcenie zależy od typu danych.

Notatka:

Jeśli ta funkcja jest pusta, zwróci wartość NaN, a pytanie pozostanie puste.

int(${question_one})

join(separator, question)

Łączy wszystkie odpowiedzi na dane pytanie w powtórzeniu, rozdzielając je podanym separatorem.

join(',', ${question_in_repeat})

jr:choice-name(choice_name, 'question')

Używana na potrzeby pytań select_one. Zwraca etykietę powiązaną z nazwą możliwości wyboru w danym pytaniu. Należy pamiętać, że pytanie musi być ujęte w cudzysłów.

jr:choice-name(${select_one}, '${select_one}')

Używana na potrzeby pytań select_multiple. Zwraca etykietę powiązaną z nazwą możliwości wyboru w danym pytaniu. Należy użyć funkcji selected-at() w celu wyodrębnienia etykiet poszczególnych odpowiedzi. Należy pamiętać, że pytanie musi być ujęte w cudzysłów.

jr:choice-name(selected-at(${select_multiple}, 3), '${select_multiple}')

max(value1, value2, ...)

Zwraca wartość maksymalną w danym zakresie lub w odpowiedzi na jedno pytanie w powtórzeniach.

max(${question_one}, ${question_two})

min(value1, value2, ...)

Zwraca wartość minimalną w danym zakresie lub w odpowiedzi na jedno pytanie w powtórzeniach.

min(${question_one}, ${question_two})

not(expression)

Zwraca wartość fałsz (false), jeśli wyrażenie zwróciłoby wartość prawda (true), a wartość prawda (true), jeśli wyrażenie zwróciłoby wartość fałsz (false).

not(selected(., 'yes'))

now()

Zwraca datownik tej chwili. Ta funkcja jest używana w pytaniach typu time (czas) oraz dateTime (data i czas). Zachowuje się tak samo jak funkcja today() w pytaniach typu date (data).

now()

number(question, expression, or value)

Służy do przekształcania do liczby. Przekształcenie zależy od typu danych.

Notatka:

Jeśli ta funkcja jest pusta, zwróci wartość NaN, a pytanie pozostanie puste.

number(${question_one})

once()

Jeśli pytanie ma już wartość, zwraca tę istniejącą wartość. Ta funkcja jest przydatna podczas korzystania z funkcji random() lub uuid() w pytaniu powtarzanym w celu zapewnienia, że wartość nie zmienia się podczas przeglądania powtarzanych rekordów w formularzu.

once(uuid())

position(..)

Zwraca indeks bieżącego rekordu w powtórzeniu. Więcej informacji zawiera temat Powtórzenia.

position(..)

pulldata()

Zwraca wartość z zewnętrznego pliku CSV. Więcej informacji zawiera sekcja Pobieranie wartości z pliku CSV.

pulldata('users', 'email', 'name', ${respondent_name})

pulldata("@exif")

Zwraca wartość z metadanych EXIF w obrazie. Więcej informacji na ten temat zawiera sekcja Wyodrębnianie metadanych obrazu.

pulldata("@exif", ${photo}, "GpsLatitude")

pulldata("@geopoint")

Zwraca wartość z pytania typu geopoint (punkt geograficzny). Więcej informacji na ten temat zawiera sekcja Wyodrębnianie wartości punktu geograficznego.

pulldata("@geopoint", ${location}, "horizontalAccuracy")

pulldata("@javascript")

Uruchamia funkcję JavaScript w formularzu i zwraca wynik. Więcej informacji na ten temat zawiera sekcja Funkcje JavaScript w formularzach ankiety.

pulldata("@javascript", "functions.js", "uniqueID", ${buildings})

pulldata("@json")

Zwraca wartość z obiektu JSON. Więcej informacji zawiera sekcja Pobieranie wartości z formatu JSON.

pulldata("@json", ${json_output}, "attributes.ZIP_CODE")

pulldata("@layer")

Wysyła zapytanie do warstwy obiektowej, tabeli obiektów lub usługi mapowej ArcGIS z włączoną obsługą zapytań i zwraca wynik. Więcej informacji zawiera temat Zapytanie o warstwę obiektową.

pulldata("@layer", "getRecordAt", "https://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/World_Time_Zones/FeatureServer/0", ${location})

pulldata("@property")

Zwraca informacje na temat zalogowanego użytkownika lub urządzenia. Więcej informacji zawiera sekcja Właściwości urządzenia i użytkownika.

pulldata("@property", 'username')

random()

Zwraca wartość losową z zakresu od 0 (włącznie) do 1 (wyłącznie).

random()

regex()

Stosuje wyrażenie regularne względem danych wejściowych pytania. Zwraca wartość true (prawda) w przypadku zgodności ze wzorcem. Więcej informacji można znaleźć w sekcji Wyrażenia regularne.

regex(., '^\d{5}$')

selected(pytanie, wartość)

Sprawdza, czy wybrano odpowiedź. Ta funkcja jest używana na potrzeby pytań select_one (wybierz jedną) i select_multiple (wybierz wiele).

selected(${question_one}, 'a')

selected-at(question, number)

Używana na potrzeby pytań select_multiple. Zwraca nazwę możliwości wyboru wskazywanej przez daną liczbę wśród wybranych możliwości wyboru (począwszy od zera), na przykład wartość '2' spowoduje zwrócenie trzeciej spośród wybranych możliwości wyboru.

selected-at(${question_one}, 2)

starts-with(string, substring)

Zwraca wartość prawda (true), jeśli dany ciąg znakowy rozpoczyna się określonym podciągiem.

starts-with(${question_one}, 'The')

string(question, expression, or value)

Służy do przekształcania do ciągu znakowego. Przekształcenie zależy od typu danych.

string(${question_one})

string-length(question, expression, or value)

Zwraca długość niepustego ciągu znakowego.

string-length(${question_one})

substr(question, start, end)

Zwraca podciąg znakowy rozpoczynający się od określonego miejsca początkowego i kończący się na znaku o indeksie wynoszącym koniec -1, gdzie początek i koniec są liczone od pozycji 0.

substr(${question_one}, 1, 2)

sum(repeat)

Zwraca sumę wszystkich odpowiedzi na dane pytanie w powtórzeniach. Więcej informacji na ten temat zawiera sekcja Funkcje agregujące.

Notatka:

W aplikacji terenowej Survey123 tę funkcję można umieścić w powtórzeniu lub poza nim. Jeśli funkcja ma być używana w aplikacji internetowej Survey123, musi zostać umieszczona poza powtórzeniem. Wartość sumy spoza powtórzenia może być przywoływana w obliczeniu wewnątrz powtórzenia.

sum(${question})

today()

Zwraca bieżącą datę, przechowywaną wewnętrznie jako lokalne południe. Ta funkcja jest używana w pytaniach typu date (data).

today()

true()

Prawda

true()

uuid()

Zwraca losowy ciąg znakowy identyfikatora UUID.

uuid()

version()

Zwraca wersję ankiety zdefiniowaną w arkuszu ustawień.

version()

W aplikacji Survey123 są obsługiwane następujące funkcje matematyczne:

FunkcjaOpisPrzykład

acos(wartość)

Zwraca wartość funkcji arcus cosinus.

acos(${question_one})

asin(wartość)

Zwraca wartość funkcji arcus sinus.

asin(${question_one})

atan(wartość)

Zwraca wartość funkcji arcus tangens.

atan(${question_one})

atan2(wartość1, wartość2)

Zwraca wartość funkcji arcus tangens ilorazu wartości.

atan2(${question_one}, ${question_two})

cos(wartość)

Zwraca wartość funkcji cosinus dla kąta wyrażonego w radianach.

cos(${question_one})

sin(wartość)

Zwraca wartość funkcji sinus dla kąta wyrażonego w radianach.

sin(${question_one})

tan(wartość)

Zwraca wartość funkcji tangens dla kąta wyrażonego w radianach.

tan(${question_one})

exp(wartość)

Zwraca wartość naturalną potęgi dla danej wartości.

exp(${question_one})

exp10(wartość)

Zwraca 10 do potęgi określonej przez wartość.

exp10(${question_one})

log(wartość)

Zwraca logarytm naturalny z wartości.

log(${question_one})

log10(wartość)

Zwraca logarytm o podstawie 10 z wartości.

log10(${question_one})

pi()

Zwraca wartość pi.

pi()

pow(wartość, potęga)

Zwraca wartość podniesioną do podanej potęgi.

pow(${question_one}, 3)

round(wartość, miejsca)

Zwraca wartość zaokrągloną.

round(${question_one}, 5)

sqrt(wartość)

Zwraca pierwiastek kwadratowy z wartości.

sqrt(${question_one})

Formatowanie przy użyciu kodu HTML

Formatowania HTML można używać w etykietach pytań i wskazówkach, jak również w etykietach list możliwości wyboru. Obsługiwane jest następujące formatowanie HTML:

ZnacznikAtrybut

a

href, style

abbr

title

audio¹

autoplay, controls, loop, muted, preload

b, strong, i, em, u, ul, ol, li, tbody, br, hr

dd, dl, dt

style

div¹

style, align

figcaption

style

figure

style

font

size, color, style

h1, h2, h3, h4, h5, h6

style

img

src, width, height, border, alt, style

p

style

source¹

media, src, type

span

style

sub

style

sup

style

table

width, height, cellpadding, cellspacing, border, style

td, th

height, width, valign, align, colspan, rowspan, nowrap, style

tr

height, valign, align, style

video¹

autoplay, controls, height, loop, muted, poster, preload, width

¹Obsługiwane tylko w aplikacji internetowej Survey123.

Wskazówka:

Domyślnie hiperłącze utworzone w formacie HTML otwierane w aplikacji internetowej Survey123 otwiera obiekt docelowy na tej samej karcie, na której znajduje się ankieta. Aby otwierać to łącze na nowej karcie, należy dodać parametr target="_blank" do znacznika a href, na przykład:

<a href="https://www.esri.com" target="_blank">Link to Esri website</a>

Wyrażenia regularne

Wyrażenia regularne są sekwencjami znaków definiującymi wzorzec wyszukiwania. Można ich używać w pytaniu, aby określić jego wartość na podstawie innych pytań lub ograniczyć wprowadzane dane. Wyrażenie regularne można zbudować z użyciem wyrażeń podrzędnych podanych w następującej tabeli. Więcej informacji na ten temat można znaleźć w temacie Formuły.

Wyrażenie podrzędneDopasuj

^

Dopasowuje początek wiersza.

$

Dopasowuje koniec wiersza.

.

Dopasowuje dowolny pojedynczy znak oprócz znaku nowego wiersza.

[...]

Dopasowuje dowolny pojedynczy znak, który znajduje się w nawiasach kwadratowych.

[^...]

Dopasowuje dowolny pojedynczy znak, który nie znajduje się w nawiasach kwadratowych.

(re)

Grupuje wyrażenia regularne i zapamiętuje dopasowany tekst.

(?: re)

Grupuje wyrażenia regularne bez zapamiętywania dopasowanego tekstu.

a| b

Dopasowuje a lub b.

\A

Początek całego ciągu znakowego.

\b

Dopasowuje granice słowa poza nawiasami kwadratowymi i dopasowuje backspace (0x08) w nawiasach kwadratowych.

\B

Dopasowuje znaki poza słowem.

\d

Dopasowuje cyfry. Jest to odpowiednik [od 0 do 9].

\D

Dopasowuje znaki inne niż cyfry.

\G

Dopasowuje punkt, w którym zakończyło się ostatnie dopasowanie.

\n, \t, \e itd.

Dopasowuje nowy wiersz, znak tabulacji, znak zmiany znaczenia itp.

\N

Odwołanie wsteczne w celu przechwycenia numeru N grupy.

re*

Dopasowuje 0 lub większą liczbę wystąpień poprzedniego wyrażenia.

re+

Dopasowuje 1 lub większą liczbę wystąpień poprzedniego wyrażenia.

re?

Dopasowuje 0 lub 1 wystąpienie poprzedniego wyrażenia.

re{ n}

Dopasowuje dokładną liczbę wystąpień poprzedniego wyrażenia zdefiniowaną zamiast znaku n.

re{ n,}

Dopasowuje n lub większą liczbę wystąpień poprzedniego wyrażenia.

re{ n, m}

Dopasowuje co najmniej n i co najwyżej m wystąpień poprzedniego wyrażenia.

\s

Dopasowuje biały znak: tabulator, koniec linii, nowa strona, powrót karetki lub spacja.

\S

Dopasowuje znak inny niż biały znak.

\w

Dopasowuje znaki słowa.

\W

Dopasowuje znaki niewystępujące w słowie.

\z

Koniec całego ciągu znakowego.

\Z

Koniec całego ciągu znakowego oprócz finalnego znaku kończącego wiersz.

Na przykład wyrażenie regularne regex(.,'^[A-Za-z]*$') wymaga, aby użytkownik wprowadził do pytania typu string (ciąg znakowy) tylko litery (bez cyfr i znaków specjalnych).

Typy pól Esri

Za pomocą kolumny bind::esri:fieldType można zastąpić domyślny typ pola jedną z następujących wartości. Więcej informacji znajduje się w temacie Kolumny niestandardowe Esri.

Wartość polaWynik

esriFieldTypeDate

Wartości daty i czasu

esriFieldTypeDateOnly

Tylko wartości daty bez wartości czasu

esriFieldTypeTimeOnly

Tylko wartości czasu bez wartości daty

esriFieldTypeTimestampOffset

Data, czas i przesunięcie względem wartości UTC

esriFieldTypeDouble

Zmiennoprzecinkowe liczby o podwójnej precyzji

esriFieldTypeGUID

Globalny unikatowy identyfikator

esriFieldTypeInteger

Liczby całkowite (32-bitowe)

esriFieldTypeBigInteger

Liczby całkowite od (64-bitowe)

esriFieldTypePointZ

Umożliwia przechwytywanie informacji o wysokości w punktach geograficznych

esriFieldTypeString

Seria symboli alfanumerycznych

null

Pole null, nie przechowuje żadnych wartości

Znaki specjalne

Nazwy pytań i nazwy wyborów nie mogą zawierać znaków specjalnych, takich jak spacje, przecinki, myślniki, nawiasy (także kwadratowe) ani znaków, takich jak $, % oraz #. Istotne jest, aby nazwy wyborów w pytaniach select_multiple nie zawierały spacji ani przecinków.