Mit kaskadierenden Auswahllisten wird eine Liste verfügbarer Antworten basierend auf der Antwort auf eine vorherige Frage eingeschränkt. Deren Inhalt kann in der XLSForm-Datei selbst oder in einer externen Datei gespeichert werden.
Kaskadierende Auswahllisten
Mit kaskadierenden Auswahllisten wird eine Liste verfügbarer Antworten basierend auf der Antwort auf eine vorherige Frage eingeschränkt. Dadurch werden Surveys benutzerfreundlicher, da die Auswahllisten nur einen geringen Umfang haben und den Benutzern auf diese Weise nur relevante Optionen angezeigt werden.
Führen Sie für jede Auswahlliste in der Hierarchie die folgenden Schritte aus:
- Geben Sie die Werte für die Auswahllisten auf der Registerkarte choices ein.
- Fügen Sie eine oder mehrere Spalten für die kaskadierenden Auswahlkriterien hinzu (zum Beispiel "country", "state", "city", "suburb").
- Geben Sie den relevanten Wert für jede Auswahl in die zusätzlichen Spalten ein.
Verwenden Sie in Auswahllisten für Elemente keine doppelten Namen. Weitere Informationen finden Sie unter Mehrfachauswahlfragen.
Sobald Sie die Auswahllisten fertig gestellt haben, müssen Sie eine Spalte des Typs choice_filter auf der Registerkarte survey erstellen. Diese Spalte enthält den Ausdruck, der zur Einschränkung Ihrer Auswahllisten verwendet wird. In der Spalte choice_filter kann der Inhalt eines anderen Feldes, zum Beispiel state=${state_1}, oder ein Ausdruck, zum Beispiel selected(${states_visited},state_code), verwendet werden.
Wenn Sie sehen möchten, wie kaskadierende Auswahllisten funktionieren, dann schauen Sie sich das Beispiel "Choice Filters and Cascading Selects" in Survey123 Connect an.
Sie können kaskadierende Auswahllisten mit Fragen des Typs select_one, select_multiple und rank verwenden. Kaskadierende Auswahllisten werden in der Survey123-Web-App für Fragen des Typs rank nicht unterstützt.
Tipp:
Wenn Sie die Ergebnisse eines Survey mit einer Frage mit kaskadierender Auswahlliste überprüfen, wird nur der Name der übermittelten Auswahlmöglichkeit angezeigt. Dies unterscheidet sich vom Verhalten von Fragen des Typs select_one oder select_multiple ohne Auswahlfilter, bei denen stattdessen die Beschriftung der Auswahlmöglichkeit angezeigt wird.
Verwenden Sie die Funktion jr:choice-name() in einer anderen Frage, um die der Auswahlmöglichkeit zugeordnete Beschriftung einer Frage zurückzugeben und zu speichern. Konzeptionell kann dies durch jr:choice-name(string value, 'question name') dargestellt werden.
In jr:choice-name(${city_choice}, '${city_choice}') steht der erste Parameter für den ausgewählten Wert und der zweite entspricht dem Namen der Frage. Sie müssen den Namen der Frage in Anführungszeichen setzen.
Bei Fragen vom Typ "select_multiple" müssen Sie zum Extrahieren der Beschriftung für einzelne Antworten die Funktion selected-at() verwenden. Beispiel:
jr:choice-name(selected-at(${city_choice}, 1), '${city_choice}')
Sie können die jr:choice-name()-Funktion in jeder beliebigen Zeichenfolgenfrage verwenden. Definieren Sie bei Verwendung einer ausgeblendeten Frage ebenfalls bind::esri:fieldType und bind::esri:fieldAlias.
Vorsicht:
Ab Survey123-Version 3.12 werden Auswahllisten über eine interne Datenbank verwaltet. Das bedeutet, dass Sie keine reservierten SQLite-Schlüsselwörter für Spaltennamen in kaskadierenden oder externen Auswahllisten verwenden können.
Externe Auswahllisten
Die mit kaskadierenden Auswahllisten verknüpften Listen können sehr groß werden und die Performance der Formulare beeinträchtigen. Survey123 bietet daher die Möglichkeit, diese Listen in einer externen Datei zu speichern und bei Bedarf in den Survey zu laden.
Erstellen Sie zum Implementieren dieser Option in der Tabelle des Survey eine Registerkarte namens external_choices. Diese neue Registerkarte muss dieselben Spaltenüberschriften wie die Registerkarte choices enthalten. Wenn der Survey veröffentlicht wird, werden die Werte der Registerkarte external_choices in einer Datei namens itemsets.csv im Medienordner des Survey-Projekts und nicht als Teil des Formularelements gespeichert. Um auf die Auswahllisten auf der Registerkarte external_choices zu verweisen, verwenden Sie select_one_external als Präfix für den Listennamen.
Externe Auswahllisten unterscheiden sich von Listen externer Auswahlmöglichkeiten. Letztere benötigen kein external_choices-Arbeitsblatt.
Hinweis:
Externe Auswahllisten sind nur bei Fragen vom Typ select_one möglich. Sie werden nicht für Fragen vom Typ select_multiple unterstützt.
Externe Auswahllisten sind nur mit Auswahllisten kompatibel, die mit einer kaskadierenden Auswahlliste verknüpft sind. Der Datei itemsets.csv werden nur Auswahlmöglichkeiten hinzugefügt, auf die ein Auswahlfilter angewendet wurde.