Wybór wielokrotny

Formularz XLSForm obsługuje pytania typu select_one (wybieranie tylko jednej odpowiedzi), select_multiple (wybieranie wielu odpowiedzi) i rank (uporządkowana lista możliwości wyboru). Utworzenie pytania z wieloma możliwościami odpowiedzi wymaga dodania arkusza choices (możliwości wyboru) do skoroszytu programu Excel. Poniżej znajduje się przykład pytania typu select_one:

Pytanie typu select one (wybierz jedną) w formularzu
Możliwości odpowiedzi na pytanie typu select one (wybierz jedną) w formularzu

Należy zwrócić uwagę na to, że wartość yes_no (tak_nie) w arkuszu ankiety musi być zgodna z wartością yes_no (tak_nie) w kolumnie list name (nazwa listy) arkusza choices (możliwości wyboru). Dzięki temu można mieć pewność, że w formularzu zostanie wyświetlona prawidłowa lista możliwych do wybrania odpowiedzi na określone pytanie.

Domyślnie w momencie publikowania ankiety możliwości wyboru w pytaniach typu select_one (wybierz jedną) są dodawane do warstwy obiektowej ankiety jako domeny wartości kodowych. Użytkownik może wyłączyć tworzenie domen podczas procesu publikowania. Więcej informacji zawiera temat Opcje publikowania.

W momencie modyfikowania możliwości wyboru dla pytań typu select_one (wybierz jedną) i ponownego publikowania ankiety aplikacja Survey123 Connect wyświetla podsumowanie zmian i umożliwia podjęcie decyzji, czy te zmiany należy zastosować względem domen wartości kodowych w warstwie obiektowej. Więcej informacji na ten temat zawiera sekcja Aktualizowanie ankiety.

Uwaga:

Podczas korzystania z listy wyboru zawierającej zduplikowane nazwy wyborów obowiązują następujące ograniczenia:

  • Zduplikowane nazwy wyborów nie są obsługiwane w przypadku pytań typu select_multiple (wybierz wiele).
  • Zduplikowane nazwy wyborów nie są obsługiwane w przypadku ankiet wielojęzycznych.
  • Funkcja jr:choice-name() zwraca etykietę pierwszego zduplikowanego wyboru na liście.
  • W przypadku otwarcia z poziomu folderu Skrzynka odbiorcza, Wersje robocze, Skrzynka nadawcza, Wysłane lub Przegląd pytania typu select_one (wybierz jedną) przywracają pierwszy zduplikowany wybór na liście.

Można także dodawać z wieloma możliwościami odpowiedzi, w przypadku których można wybierać wiele odpowiedzi, na przykład takie jak poniższe:

Pytanie typu select multiple (wybierz wiele) w formularzu
Możliwości odpowiedzi na pytanie typu select multiple (wybierz wiele) w formularzu

Domyślnie te możliwości wyboru są wyświetlane w kolejności podanej w arkuszu choices (możliwości wyboru). Możliwości wyboru można także ułożyć w kolejności losowej, wprowadzając wartość randomize=true w kolumnie parametrów.

Uwaga:

Wszystkie wartości zebrane w pytaniu typu select_multiple (wybierz wiele) lub rank (ranga) są zapisywane w postaci listy rozdzielanej przecinkami, dlatego należy unikać używania przecinków w kolumnie nazwy listy możliwości wyboru. Należy również zwrócić uwagę na to, że pytania typu select_multiple (wybierz wiele) lub rank (ranga) wysyłają do warstwy obiektowej tylko nazwę możliwości wyboru, a nie nazwę i etykietę wysyłane przez pytania typu select_one (wybierz jedną).

Wartość pytania typu rank (ranga) pozostaje pusta, dopóki kolejność możliwości wyboru nie zostanie zmodyfikowana przez użytkownika. Jeśli wartość domyślna została skonfigurowana, jest stosowana domyślna kolejność możliwości wyboru, chyba że zostanie ona zmodyfikowana przez użytkownika.

Indywidualną odpowiedź na pytanie typu select_multiple (wybierz wiele) można uzyskać za pomocą funkcji selected-at. Poniższe wyrażenie zwraca wartość parametru name (nazwa) dla pierwszej odpowiedzi na pytanie typu select_multiple (wybierz wiele):

selected-at(${species}, 0)

Aby wysłać etykietę dla odpowiedzi, można użyć funkcji jr:choice-name. Aby uzyskać wartość parametru label (etykieta) dla drugiej odpowiedzi na to samo pytanie typu select_multiple (wybierz wiele), użyj następującego wyrażenia:

jr:choice-name(selected-at(${species}, 1), '${species}')

Podawanie innej odpowiedzi

W przypadku pytań z wieloma możliwościami odpowiedzi w ankietach może być uwzględniana możliwość wyboru odpowiedzi other (inny), jeśli pożądanej odpowiedzi nie ma na liście. Respondent może zostać następnie poproszony o określenie tej innej odpowiedzi. Można to zrobić w formularzu XLSForm, stosując metodę ręczną lub wbudowaną. Metoda wbudowana jest szybsza i łatwiejsza do skonfigurowania niż metoda ręczna, ale ma kilka ograniczeń.

Metoda ręczna

Metoda ręczna jest zalecana, ponieważ umożliwia określenie nazwy i etykiety możliwości wyboru other (inny) oraz nazwy i etykiety pytania typu text (tekst) zawierającego tę inną odpowiedź. Możliwe jest udostępnienie tłumaczeń tych nazw i etykiet. Można także zastosować ograniczenia do pytania typu text (tekst) i określić jego wygląd, jak również ustawić je jako wymagane.

Najpierw dodaj możliwość wyboru other (inny) do listy możliwości wyboru związanej z danym pytaniem w arkuszu choices (możliwości wyboru). Tak jak w przypadku każdej innej możliwości wyboru na liście określ nazwę i etykietę także dla tej. W poniższym przykładzie lista możliwości wyboru color (kolor) zawiera możliwość wyboru o nazwie other (inny).

Lista możliwości wyboru z możliwością wyboru other (inny) w arkuszu choices (możliwości wyboru)

W arkuszu survey (ankieta) dodaj pytanie typu text (tekst), w którym wprowadzana będzie odpowiedź other (inny). Dodaj wyrażenie relevant (odpowiednie), aby pytanie typu text (tekst) było odpowiednie tylko wtedy, gdy wybrana zostanie możliwość other (inny). W poniższym przykładzie pytanie other_color jest odpowiednie tylko wtedy, gdy odpowiedzią na pytanie typu select_one (wybierz jedną) jest other (inny).

Wyrażenie relevant (odpowiednie) dla dodatkowego pytania typu text (tekst) w arkuszu survey (ankieta)

W ankietach obsługujących wiele języków pytania i możliwości wyboru mogą być przetłumaczone. W poniższym przykładzie w arkuszu survey (ankieta) dostępne są tłumaczenia na języki francuski i grecki dla pytania typu select_one (wybierz jedną) i pytania typu text (tekst).

Przetłumaczone etykiety pytań w arkuszu survey (ankieta)

W arkuszu choices (możliwości wyboru) dostępne są także tłumaczenia, w tym dla możliwości wyboru other (inny).

Przetłumaczone możliwości wyboru w arkuszu choices (możliwości wyboru)

Metoda wbudowana

W tej metodzie aplikacja Survey123 Connect automatycznie tworzy możliwość wyboru other (inny) oraz pytanie, w którym wprowadzana jest odpowiedź na wybór other (inny). Aby skorzystać z tej metody, wpisz or_other po nazwie listy możliwości wyboru w kolumnie type (typ) arkusza survey (ankieta). Możliwość wyboru Other (Inny) zostanie wyświetlona na liście możliwości wyboru związanej z danym pytaniem. Jeśli jest wybrany wybór Other (Inny), wyświetlane jest pytanie Specify other (Podaj inny), w którym użytkownicy mogą wprowadzić własną odpowiedź. Aby przechować tę odpowiedź, aplikacja Survey123 Connect automatycznie tworzy dodatkowe pole w warstwie obiektowej, używając nazwy pytania z wieloma możliwościami poprzedzającej słowo _other, na przykład: favorite_toppings_other. Zapoznaj się z następującym przykładem:

Pytanie typu select multiple (wybierz wiele) lub inne w formularzu
Uwaga:

Etykieta pola Specify other (Podaj inny) nie zostanie wyświetlona w językach innych niż angielski.

W przypadku tworzenia ankiety na podstawie istniejącej warstwy obiektowej pole dla pytania Specify other (Podaj inny) nie zostanie utworzone automatycznie, a ankieta nie zostanie opublikowana. Konieczne jest ręczne utworzenie w warstwie obiektowej pola dla pytania Specify other (Podaj inny). Nazwa pola musi być złożona z nazwy pytania z wieloma możliwościami, po której następuje słowo _other, na przykład: favorite_toppings_other.

Zewnętrzna lista możliwości wyboru

Listy możliwości wyboru pytań typu select_one (wybierz jedną) i select_multiple (wybierz wiele) można przechowywać w zewnętrznym pliku .csv. Podejście to sprawdza się doskonale w przypadku dużych list możliwości wyboru, ankiet z kilkoma listami możliwości wyboru oraz list zarządzanych poza aplikacją Survey123. Nie należy mylić zewnętrznych list możliwości wyboru z wyborami zewnętrznymi, w przypadku których możliwości wyboru muszą znajdować się w osobnym arkuszu.

Plik .csv musi zawierać kolumny name (nazwa) i label (etykieta).

Notatka:

Jeśli w pliku .csv brakuje nagłówka kolumny lub na końcu wierszy znajduje się przecinek, plik nie zostanie zaimportowany do ankiety.

Najlepsze wyniki można uzyskać, kodując plik .csv z użyciem kodowania znaków UTF-8. Jeśli do utworzenia pliku Microsoft Excel jest używany program .csv, należy zapisać ten plik jako CSV UTF-8.

Aby dodać pytanie z zewnętrzną listą możliwości wyboru, wpisz typ pytania (select_one_from_file lub select_multiple_from_file) i nazwę pliku .csv, na przykład select_one_from_file CoverType.csv. W nazwach plików jest rozróżniana wielkość liter i nie można w nich używać spacji.

Istnieją dwa sposoby dołączenia pliku .csv: zapisanie pliku w folderze media ankiety lub połączenie z plikiem .csv hostowanym w systemie ArcGIS.

Wskazówka:

Uruchom narzędzie Przekształcanie list możliwości wyboru w pliki CSV, aby zautomatyzować migrację list możliwości wyboru z arkusza możliwości wyboru w pliki .csv.

Połączenie pliku .csv

Aby połączyć plik .csv z zasobów systemu ArcGIS z ankietą, wykonaj następujące czynności:

  • Sprawdź, czy plik .csv jest hostowany w usłudze ArcGIS Online lub oprogramowaniu ArcGIS Enterprise i ma takie same uprawnienia udostępniania jak ankieta.
  • Przed połączeniem zasobów upewnij się, że ankieta jest opublikowana w systemie ArcGIS.
  • W aplikacji Survey123 Connect, otwórz ankietę i kliknij kartę Połączone zasoby. Kliknij przycisk Połącz zasoby, wybierz CSV, a następnie przejdź do pliku .csv do połączenia i go wybierz.

Aby w podglądzie formularza wyświetlane były możliwości wyboru z połączonego pliku .csv, w aplikacji Survey123 Connect na karcie Połączone zasoby kliknij przycisk pobierania Pobierz. Spowoduje to umieszczenie kopii pliku .csv w folderze Multimedia ankiety. Połączone pliki są pobierane automatycznie z ankietą w aplikacji terenowej Survey123.

Jeśli ręcznie umieścisz plik .csv w folderze Multimedia, później zaś do systemu ArcGIS prześlesz plik .csv o takiej samej nazwie i połączysz go z ankietą, plik .csv w ankiecie zostanie zaktualizowany na podstawie połączonych zasobów (jeśli są nowsze).

Przekształcanie list możliwości wyboru w pliki CSV

Uruchom narzędzie Przekształcanie list możliwości wyboru w pliki CSV w aplikacji Survey123 Connect, aby automatycznie zmigrować wskazane listy możliwości wyboru z arkusza możliwości wyboru w nowe pliki .csv w folderze media. Narzędzie modyfikuje również odpowiednie pytania w arkuszu ankiety, aby używać typów pytań select_one_from_file i select_multiple_from_file.

Aby uruchomić to narzędzie, wykonaj następujące czynności:

  • Skonfiguruj środowisko języka Python w aplikacji Survey123 Connect, aby móc uruchomić narzędzie. Więcej informacji na ten temat zawiera sekcja Konfigurowanie aplikacji Python.
  • Otwórz formularz XLSForm ankiety. W arkuszu choices (możliwości wyboru) dodaj kolumnę o nazwie esri_tool_convert_csv. Dodaj wartość yes (tak) do co najmniej jednego wiersza dla każdej z list możliwości wyboru, które chcesz przekształcić w zewnętrzne listy możliwości wyboru. Zapisz i zamknij plik.
  • W aplikacji Survey123 Connect otwórz ankietę, kliknij opcję Narzędzia i wybierz opcję Przekształcanie list możliwości wyboru w pliki CSV.

Po zakończeniu konwersji dla każdej zmigrowanej listy możliwości wyboru zapisywany jest plik .csv w folderze media. Nazwa pliku jest zgodna z oryginalną wartością nazwy listy możliwości wyboru (kolumna list_name). Arkusz możliwości wyboru jest aktualizowany tak, aby zawierał tylko pozostałe listy, które nie zostały zmigrowane. Nadal zawiera wszystkie niestandardowe nagłówki kolumn z oryginalnej wersji. W arkuszu ankiety odpowiednie pytania select_one i select_multiple zostały zmienione na pytania select_one_from_file i select_multiple_from_file, aby odnosiły się do nowych zewnętrznych list możliwości wyboru. Oryginalny arkusz możliwości wyboru jest zapisywany w arkuszu choices_backup, dzięki czemu można zweryfikować wyniki lub powrócić do niego. Kopię zapasową arkusza można zachować lub usunąć.

Narzędzie nie przekształca list możliwości wyboru używanych w pytaniach typu ranking, grupach table-list lub pytaniach z wyglądem search (wyszukiwanie). Żadne z pytań wykorzystujących te listy możliwości wyboru nie jest modyfikowane w ankiecie.

Jeśli narzędzie wykryje nieobsługiwane pytania, w folderze debug zostanie utworzony plik .xlsx z nazwami odpowiednich list możliwości wyboru. Plik ten znajduje się w następującym folderze:

C:\Users\<username>\ArcGIS\My Survey Designs\<surveyName>\debug\convertchoicelists