Zusammenfassung
In ArcGIS Survey123 Connect können Werte aus mehreren Fragen mithilfe der Funktion "concat()" verkettet werden. Nichtsdestotrotz wird bei der Verkettung der Zeit mit Textwerten die Zeit in Epoch-Zeit statt in einer für Menschen lesbaren Zeit angezeigt.
Die folgende Abbildung zeigt den Survey, der eine Epoch-Zeit an, wenn die Werte aus den Fragen "ID name" und "Time" verkettet sind.
Befolgen Sie den Workflow in diesem Artikel, um die Zeit in einem lesbaren Format anzuzeigen, wenn sie mit Textwerten in ArcGIS Survey123 Connect verkettet wird.
Vorgehensweise
- Öffnen Sie in ArcGIS Survey123 Connect das XLSForm des Survey.
- Erstellen Sie eine Survey-Frage, um den Textwert einzugeben.
- Wählen Sie im Survey-Arbeitsblatt in der Spalte type den text aus der Dropdown-Liste aus.
- Geben Sie die Werte in den Spalten name und label an. In diesem Beispiel hat die Frage den Namen "my_id" und ist mit "ID name" beschriftet.
- Erstellen Sie eine Survey-Frage, um den Datums- oder Uhrzeitwert einzugeben.
- Wählen Sie in einer neuen Zeile in der Spalte type die Option date, time oder dateTime aus der Dropdown-Liste aus. In diesem Beispiel ist "time" ausgewählt.
- Geben Sie die Werte in den Spalten name und label an. In diesem Beispiel hat die Frage den Namen "my_time" und die Beschriftung "Time".
Um die Uhrzeit in einem lesbaren Format anzuzeigen, müssen drei verschiedene Zeitkomponenten: Stunde, Minute und Zeitraum (AM/PM) aus dem Wert extrahiert werden, bevor sie mit dem Textwert verkettet werden.
- Erstellen Sie einen Hinweis, um die Uhrzeit in 24-Stunden-Zeit zurückzugeben.
- Wählen Sie in einer neuen Zeile in der Spalte type die Option note aus der Dropdown-Liste aus.
- Geben Sie die Werte in den Spalten name und label an. In diesem Beispiel hat der Hinweis den Namen "my_test" und die Beschriftung "24 hour time".
- Wählen Sie in der Spalte appearance in der Dropdown-Liste die Option hidden aus, um die Hinweisfrage im Survey auszublenden.
- Geben Sie in der Spalte calculation den folgenden Ausdruck ein: Ersetzen Sie ggf. den Namen der Frage im Ausdruck entsprechend.
format-date(${my_time}, '%h:%M')
- Erstellen Sie einen Hinweis, um nur die Stunde der Uhrzeit im 12-Stunden-Format zurückzugeben.
- Wählen Sie in einer neuen Zeile in der Spalte type die Option note aus der Dropdown-Liste aus.
- Geben Sie die Werte in den Spalten name und label an. In diesem Beispiel hat der Hinweis den Namen "my_hour" und die Beschriftung "Hour".
- Wählen Sie in der Spalte appearance in der Dropdown-Liste die Option hidden aus, um die Hinweisfrage im Survey auszublenden.
- Geben Sie in der Spalte calculation den folgenden Ausdruck ein: Ersetzen Sie ggf. den Namen der Frage im Ausdruck entsprechend.
if(format-date(${my_test}, '%h') >12, (format-date(${my_test}, '%h')-12), if(format-date(${my_test}, '%h') = 0, '12', format-date(${my_test}, '%h')))
- Erstellen Sie einen Hinweis, um nur die Minute der Zeit zurückzugeben.
- Wählen Sie in einer neuen Zeile in der Spalte type die Option note aus der Dropdown-Liste aus.
- Geben Sie die Werte in den Spalten name und label an. In diesem Beispiel hat der Hinweis den Namen "my_min" und die Beschriftung "Min".
- Wählen Sie in der Spalte appearance in der Dropdown-Liste die Option hidden aus, um die Hinweisfrage im Survey auszublenden.
- Geben Sie in der Spalte calculation den folgenden Ausdruck ein: Ersetzen Sie ggf. den Namen der Frage im Ausdruck entsprechend.
format-date(${my_time}, '%M')

- Erstellen Sie einen Hinweis, um den Zeitraum in AM oder PM zu berechnen und anzuzeigen.
- Wählen Sie in einer neuen Zeile in der Spalte type die Option note aus der Dropdown-Liste aus.
- Geben Sie die Werte in den Spalten name und label an. In diesem Beispiel hat der Hinweis den Namen "my_ampm" und die Beschriftung "AMPM".
- Wählen Sie in der Spalte appearance in der Dropdown-Liste die Option hidden aus, um die Hinweisfrage im Survey auszublenden.
- Geben Sie in der Spalte calculation den folgenden Ausdruck ein: Ersetzen Sie ggf. den Namen der Frage im Ausdruck entsprechend.
if(format-date(${my_time}, '%h') >11, 'PM', 'AM')
- Erstellen Sie einen Hinweis, um die Zeitkomponenten zu verketten.
- Wählen Sie in einer neuen Zeile in der Spalte type die Option note aus der Dropdown-Liste aus.
- Geben Sie die Werte in den Spalten name und label an. In diesem Beispiel hat der Hinweis den Namen "concattime" und die Beschriftung "Concat Time".
- Wählen Sie in der Spalte appearance in der Dropdown-Liste die Option hidden aus, um die Hinweisfrage im Survey auszublenden.
- Geben Sie in der Spalte calculation den folgenden Ausdruck ein: Ersetzen Sie ggf. den Namen der Frage im Ausdruck entsprechend.
concat(${my_hour}, ':', ${my_min}, ' ', ${my_ampm})
- Erstellen Sie einen Hinweis, um die Text- und Zeitwerte zu verketten.
- Wählen Sie in einer neuen Zeile in der Spalte type die Option note aus der Dropdown-Liste aus.
- Geben Sie die Werte in den Spalten name und label an. In diesem Beispiel hat der Hinweis den Namen "myconcat" und die Beschriftung "My Concat Time".
- Geben Sie in der Spalte calculation den folgenden Ausdruck ein: Ersetzen Sie ggf. den Namen der Frage im Ausdruck entsprechend.
${my_id} + ' ' + string(${concattime})
Die folgende Abbildung zeigt das konfigurierte XLSForm.
- Speichern Sie das XLSForm, und veröffentlichen Sie den Survey.
Die folgende Abbildung zeigt den Survey, der die Zeit in einem lesbaren Format bei Verkettung mit dem Textwert an.