Краткий справочник

ArcGIS Survey123 поддерживает множество XLSForm спецификаций В этом справочнике приведено описание объектов XLSForm, которые могут использоваться в Survey123. Опросы можно создавать вSurvey123 Connect или Survey123 веб-сайте; некоторые возможности доступны только на одном из этих них, а некоторые – на обоих.

Типы вопросов

В следующей таблице представлены типы вопросов, доступные в Survey123 Connect, в полевом приложении Survey123, веб-дизайнере Survey123 и веб-приложении Survey123. На разных платформах по некоторым вопросам существуют различия с точки зрения поведения и реализации; о различиях читайте в примечаниях после таблицы.

Survey123 Connect типы вопросовSurvey123 тип вопроса веб-дизайнераОписаниеПоддерживается в полевом приложении Survey123Поддерживается в веб-приложении Survey123
аудио⁴Аудио⁴ ⁶

Записывает аудиоклип в полевом приложении. Записывает аудиоклип или берет выгруженный аудиофайл в веб-приложении.

Да

Да

barcode

Н/Д

Сканирует штрих-код или QR-код

Да

Да

begin group

Группа, Страница

Начинает группу вопросов.

Да

Да

begin repeat

Н/Д

Начинает группу повторяющихся вопросов.

Да

Да

calculate

Н/Д

Выполняет калькуляцию значений по форме. Вычислить поле содержит результат калькуляции.

Да

Да

десятичное¹

Число¹ ⁶

Ввод десятичных знаков.

Да

Да

date

Дата⁶

Ввод даты.

Да

Да

dateTime

Дата и время⁶

Ввод даты и времени.

Да

Да

deviceid

Н/Д

UUID определенного устройства, на котором производился опрос.

Да

Нет

email²

Н/Д

При входе под учетной записью организации в это поле автоматически заносится электронный адрес почты этой учетной записи.

Да

Да

end

Н/Д

Дата и время окончания опроса.

Да

Да

end group

Группа, Страница

Завершает группу вопросов.

Да

Да

end repeat

Н/Д

Завершает группу повторяющихся вопросов.

Да

Да

file

Загрузка файла

Принимает файл на устройстве.

Да

Да

geopoint³

Карта³ ⁶

Получает координаты GPS. По умолчанию используется текущее местоположение.

Да

Да

geoshape³

Собирает полигон на карте.

Да

Да

geotrace³

Собирает линию на карте.

Да

Да

hidden

Н/Д

Создает поле в векторном слое, которое не отображается в форме. Используйте столбцы bind::esri:fieldType и bind::esri:fieldLength, чтобы указать схему данных для этого поля.

Да

Да

целое число¹

Число¹ ⁶

Ввод целых чисел.

Да

Да

image

Изображение, Подпись

Принимается изображение из файлов на устройстве или непосредственно снятое фото.

Да

Да

note

Примечание⁶

Показывает текст на экране. Примечание также может управлять скрытыми вычислениями.

Да

Да

диапазонБегунок⁶

Используется для заданного диапазона чисел.

Да

Да

rank list_name

Ранжирование⁶

Вопрос типа Ранг. Предлагает список вариантов. Замените list_name именем списка выбора.

Да

Да

select_one list_name

Ниспадающий список⁵ ⁶, Шкала Лайкерта⁵ ⁶, Рейтинг⁶, Один вариант ответа⁶, Сетка одного варианта ответа⁶

Вопрос с несколькими вариантами ответов; допускается выбрать только один из вариантов. Замените list_name именем списка выбора.

Да

Да

select_one_from_file file_name.csv

Н/Д

Вопрос с несколькими вариантами ответов; допускается выбрать только один из вариантов. Замените file_name.csv именем файла, расположенного в папке мультимедиа опроса, который содержит список вариантов.

Да

Да

select_multiple list_name

Несколько вариантов ответа⁶

Вопрос с несколькими вариантами ответов; допускается выбрать несколько вариантов ответов. Замените list_name именем списка выбора.

Да

Да

select_multiple_from_file file_name.csv

Н/Д

Вопрос с несколькими вариантами ответов; допускается выбрать несколько вариантов ответов. Замените file_name.csv именем файла, расположенного в папке мультимедиа опроса, который содержит список вариантов.

Да

Да

start

Н/Д

Дата и время начала опроса.

Да

Да

text

Адрес⁶, Email⁶, Многострочный текст⁵ ⁶, Однострочный текст⁶, Веб-сайт⁶

Ответ в произвольной форме. Для Email и веб-сайт применяется регулярное выражение. Вид геокодирования применяется к адресу.

Да

Да

time

Время⁶

Ввод данных о времени.

Да

Да

username

Н/Д

При входе под учетной записью организации в это поле автоматически заносится имя пользователя этой учетной записи.

Да

Да

¹Веб-дизайнер объединяет вопросы integer и decimal в один тип вопросов с именем Number. Опция в свойствах вопроса позволяет дизайнеру опроса задать необходимые входные данные.

²Вопросы типа email, представленные в Survey123 Connect и в веб-дизайнере Survey123, реализованы по-разному. Реализация в Survey123 Connect автоматически заполняется адресами электронной почты пользователей с учетной записью организации, с которой выполнен вход. Реализация в веб-дизайнере Survey123, наоборот, является текстовым полем, которое принимает только форматирование, соответствующее адресу электронной почты.

³Вопросы типа geopoint, geotrace и geoshape были объединены в один тип, который называется Карта. Опция в свойствах вопроса позволяет дизайнеру опроса задать необходимые входные данные. Новый тип вопроса "Адрес" позволяет отправлять геокодированные точки.

⁴Вопросы Аудио не поддерживают выгрузку в полевое приложение Survey123, как в веб-приложении. Чтобы разрешить выгрузку аудио в полевое приложение, используйте вопрос File.

⁵Несколько доступных видов оформлений в Survey123 Connect представлены взамен доступных типов вопросов в веб-дизайнере Survey123. Сюда относятся Многострочный текст, Ниспадающий список и Шкала Лайкерта.

Для каждого вопроса в веб-дизайнере предусмотрена возможность кэшировать ответ. В веб-приложении после отправки записи опроса ответ на вопрос будет кэширован в браузере и предварительно загружен в следующую отправку, сделанную для этого опроса на этом устройстве. Кэширование ответа можно настроить для всех типов вопросов, кроме Аудио, Изображения, Загрузки файла и Подписи.

Столбцы рабочего листа Survey

В следующей таблице перечислены столбцы, поддерживаемые в Survey123. Эти столбцы включены в рабочий лист опроса в Расширенном шаблоне и перечислены в этой таблице в том порядке, в котором они отображаются в рабочем листе.

СтолбецОписание
type

Выберите тип вопроса из предоставленного типа. Выберите корректное имя списка при помощи вопроса select_one или select_multiple.

name

Имя поля векторного слоя.

label

Подпись вопроса, отображаемая в опросе.

hint

Информация, которая может помочь ответить на вопрос.

guidance_hint

Дополнительная информация, отображаемая только после нажатия значка.

appearance

Выберите оформление этого поля в вашем опросе.

required

Выберите yes, чтобы потребовать значение для этого поля, прежде чем завершить опрос.

required_message

Если в обязательном для заполнения поле нет ответа, появится сообщение из этого столбца, предлагающее ответить.

readonly

Выберите yes, чтобы сделать значения этого поля доступными только для чтения. Эти значения нельзя редактировать в опросе.

по умолчанию

Установить для поля значение по умолчанию. Это будет заполнять опрос значениями по умолчанию. Можно использовать для экономии времени, вводя или часто используемые ответы на вопрос, или показывая ожидаемый ответ на вопрос.

calculation

Выполните вычисления, используя значения предыдущих вопросов (например, ${number} * 100). Ссылайтесь на поле вычисления для отображения результата (например, The answer is ${calc}).

constraint

Ограничивает диапазон чисел, которые можно ввести (например, .>0 и .<100). Можно использовать для всех типов вопросов.

constraint_message

Если условия ограничений не соблюдаются, будет отображаться это сообщение с предложением ввести корректный ответ.

relevant

Это позволяет вам пропустить вопросы или отобразить дополнительные вопросы на основе ответа на предыдущий вопрос. Вопрос становится видимым, если выполнить условия в соответствующем столбце (например, ${name} = 'value'). Вопрос, скрытый в этом столбце, отправляет только пустые значения.

choice_filter

При использовании каскадных выборок это поле содержит выражение, соответствующее столбцам дополнительных атрибутов на вкладке выбора (например, attribute = ${value}).

repeat_count

Это значение указывает количество записей, доступных в повторении. После указания количества повторов записи не могут быть добавлены или удалены из повтора.

media::audio

Скопируйте аудиофайл в подпапку мультимедиа для своего проекта и введите имя аудиофайла (например, audio.mp3), чтобы представить аудио с вашим вопросом.

media::image

Скопируйте файл изображения во вложенную мультимедиа для своего проекта и введите имя файла изображения (например, image.jpg), чтобы отобразить изображение с вашим вопросом.

bind::type

Тип поля, который перезаписывает тип поля по умолчанию для вопроса.

bind::esri:fieldType

Определите тип целевого поля в в векторном слое. Это можно использовать для перезаписи типа поля по умолчанию (например, поля calculate и select_one по умолчанию являются строками. Чтобы сохранить значения в векторном слое как целые числа, выберите esriFieldTypeInteger).

bind::esri:fieldLength

Определите длину целевого поля в векторном слое. Ее можно использовать для перезаписи длины поля по умолчанию.

bind::esri:fieldAlias

Укажите значения для псевдонима поля в векторном слое. Их можно использовать для перезаписи значений псевдонимов полей по умолчанию, которые получены из текста вопроса.

body::esri:style

Укажите выражения, которые будут определять стиль и поведение вопроса (например, цвет фона и повторы).

bind::esri:parameters

Укажите параметры для вопросов, являющиеся специфичными для Survey123 (например, параметры, определяющие поведение повторов при редактировании вашего опроса).

bind::esri:workflow

Укажите параметры, чтобы сделать опрос доступным в режиме измерения дальномера.

параметры

Укажите параметры стандарта XLSForm для вопроса (например, параметры start, end и step для вопроса типа Диапазон).

body::accept

Задайте типы файлов, поддерживаемых вопросом типа Файл. Поддерживает расширения файлов, несколько расширений файлов нужно разделять запятыми (например, .jpg, .png).

body::esri:visible

Это позволяет вам пропустить вопросы или отобразить дополнительные вопросы на основе ответа на предыдущий вопрос. Вопрос становится видимым, если выполнить условия в столбце body::esri:visible (например, ${name} = 'value'). Вопрос, скрытый в этом столбце, по-прежнему содержит и отправляет значения.

body::esri:inputMask

Укажите выражение для использования маски ввода, чтобы установить формат для ввода данных с использованием букв и символов.

label::language (xx)

Введите переводы для ваших вопросов. Язык задается по его названию и коду (например, label::Español (es)). Добавьте новый столбец для каждого языка. Список языков появится в ниспадающем меню в опросе.

hint::language (xx)

Введите переводы для подсказок к вашим вопросам. Язык задается по его названию и коду (например, label :: Spanish (es)). Добавьте новый столбец для каждого языка. Список языков появится в ниспадающем меню в опросе.

guidance_hint::language (xx)

Введите переводы для ваших указывающих подсказок. Вам нужно задать язык по его имени и коду (например, guidance_hint::Español (es)). Добавьте новый столбец для каждого языка. Список языков появится в ниспадающем меню в опросе.

required_message::language (xx)

Введите переводы для сообщения, которое появляется, если отсутствует ответ на обязательный вопрос. Язык задается по его названию и коду (например, required_message::Español (es)). Добавьте новый столбец для каждого языка. Список языков появится в ниспадающем меню в опросе.

body::accuracyThreshold

Укажите числовое значение для порога (в метрах), выше которого значения положения не будут приняты. Применяется к геоточкам и вершинам вопросов Геоформа и Геотрассировка.

bind::esri:warning

Примените выражение, которое отображает предупреждения, если условия не выполняются.

bind::esri:warning_message

Сообщение, которое отображается, если не выполнены условия предупреждения bind::esri:warning .

bind::saveIncomplete

Установите на true, если приложение должно автоматически сохранять ответ после вопроса.

Оформление

В столбец оформления для конкретных типов вопросов можно указать следующие значения, определяющие их форму или свойства. Более подробно см. Оформление.

ОформлениеПрименимый тип вопросаОписаниеПоддерживается в полевом приложении Survey123Поддерживается в веб-приложении Survey123

annotate

image

Позволяет пользователю открыть окно для рисования, где также поддерживаются аннотации на изображениях.

Да

Да

autocomplete

select_one

Варианты ответов отображаются в ниспадающем меню, сокращающемся при вводе текста.

Да

Да

calculator

integer, decimal

Показывает пользовательский виджет калькулятора для этого вопроса.

Да

Нет

compact

select_one, select_multiple, begin group, begin repeat

Для вопросов select_one и select_multiple представляет варианты выбора по горизонтали в сжатой форме. Для групп и повторов представляет вопросы в свернутом виде на стартовой странице, которые пользователь может развернуть.

Да

Да

compact-n

select_one, select_multiple

Представляет варианты по горизонтали в сжатой форме с максимальным количеством столбцов, заданным n. Например, compact-3 ограничивает вопрос максимум тремя столбцами.

Да

Да

distress

integer

Отображает вопрос в виде цветной счетной линейки.

Да

Нет

draw

image

Позволяет пользователю открыть окно для рисования.

Да

Да

field-list

begin group, begin repeat

Показывает группу вопросов на отдельной странице, если стиль опроса задан как страницы.

Да

Да

геокодировать

text

Выполняет поиск и отправку геокодированного адреса.

Да

Да

getinframarkerid

text

Получите и сохраните уникальный 24-значный идентификатор тега InfraMarker.

Да

Нет

hidden

Все

Скрывает вопрос, сохраняя при этом значения по умолчанию и вычисления.

Да

Да

hide-input

geopoint

Сворачивает раздел ввода координат, если опрос открыт в веб-приложении.

Нет

Да

horizontal

select_one, select_multiple

Отображает варианты ответов по горизонтали и в столбцах.

Да

Да

horizontal-compact

select_one, select_multiple

Как в оформлении compact

Да

Да

image-map

select_one, select_multiple

Отображает вложенное изображение .svg с выделяемыми регионами.

Да

Нет

inframarker

text

Укажите информацию для записи в тег InfraMaker.

Да

Нет

likert

select_one

Представляет варианты ответов в виде шкалы Лайкерта.

Да

Да

minimal

select_one, select_multiple, barcode, begin repeat

Представляет несколько ответов (select_one, select_multiple), несколько вопросов (повторов) и текстовоеполе (barcode) в скрытом или минимизированном стиле.

Да

Да

minimal compact

begin repeat

Представляет вопросы в повторе как свернутыми (компактными), так и скрытыми (минимизированными).

Да

Да

month-year

date

Выбирает в качестве даты только месяц и год.

Да

Да

multiline

text, image, file

Представляет текстовый вопрос в виде многострочного текстового окна. Оно поддерживает несколько вложений для вопроса типа Изображение или Файл.

Да

Да

new-front

image

Ограничивает вопрос только фотографированием, используя по умолчанию переднюю камеру.

Да

Нет

new-rear

image

Ограничивает вопрос только фотографированием, используя по умолчанию заднюю камеру.

Да

Нет

no-ticks

диапазон

Отображает бегунок диапазона без позиций, минимальных и максимальных значений.

Да

Да

nopredictivetext

text

Отключает интеллектуальный ввод текста для мобильных устройств.

Да

Нет

numbers

integer, decimal

Показывает пользовательскую цифровую клавиатуру для этого вопроса.

Да

Нет

predictivetext

text

Включает интеллектуальный ввод текста для мобильных устройств.

Да

Нет

press-to-locate

geopoint, geotrace, geoshape

Для вопросов Геоточка местоположения поддерживаются только после того, как пользователь обратится к вопросу. В вопросах типа Геотрассировка и Геоформа будут определяться местоположение пользователя, без захвата точки при первом взаимодействии с вопросом.

Только для геоточек

Да

rangefinder

text

Принимает либо полный объект JSON, либо указанное значение, возвращаемое дальномером.

Да

Нет

search

text

Заполняет список выбора значениями из таблицы CSV в папке media опроса, существующего векторного слоя или таблицы.

Да

Нет

signature

image

Представляет пользовательский интерфейс для захвата подписи. Подпись добавляется к объекту в качестве вложения.

Да

Да

spike

image

Необходимо устройство Spike и приложение Spike. Оно использует интеграцию Spike для измерения расстояния и местоположения на фотографии.

Да

Нет

spike-full-measure

image

Необходимо устройство Spike и приложение Spike. Оно использует интеграцию Spike для измерения расстояния, местоположения, площади и длины на фотографии.

Да

Нет

spike-point-to-point

image

Необходимо устройство Spike и приложение Spike. Оно использует интеграцию Spike для измерения расстояния между двумя сфотографированными точками.

Да

Нет

spinner

integer, decimal

Добавляет кнопки для увеличения или уменьшения значения.

Да

Нет

table-list

begin group

Представляет набор вопросов select_one внутри группы с общим списком выбора в виде таблицы.

Да

Да

thousands-sep

decimal

Отображает ответы с разделителем разрядов. Применяется только к подготовленным ответам.

Да

Нет

week-number

date

Выбирает порядковый номер недели.

Да

Нет

year

date

Выбирает в качестве даты только год.

Да

Да

Параметры

Некоторые типы вопросов в XLSForm имеют дополнительные настройки, позволяющие контролировать стиль и поведение вопросов. В некоторых случах эти параметры дополняют представления, поддерживающиеся вопросами. Обзор параметров, поддерживающихся каждым типов вопросов, см. в разделе Параметры XLSForm.

Значения по умолчанию

Если в столбец по умолчанию вопроса ввести today(), то значением по умолчанию станет сегодняшняя дата.

Введите имя варианта выбора (не надпись выбора) для значений по умолчанию для вопросов select_one.

Ответы на вопросы типа select_multiple имеют отличия от остальных, все они вводятся в том порядке, в котором были выбраны, и разделяются с помощью запятых. Чтобы задать несколько значений по умолчанию в вопросе select_multiple, их следует разделить запятыми, например, item1,item2,item3.

Проверка данных

Ввод значения Да в обязательном столбце , требующий ввода значения для завершения данной формы.

Операторы

Перечисленные в следующей таблице операторы можно использовать в столбцах XLSForm, которые поддерживают выражения, в том числе столбцы constraint, calculation и relevant.

Более подробно о вычислениях и ограничениях см. Формулы, а об использовании релевантного столбца см. Выражения форм.

ОператорОписаниеПример

.

Текущий ответ

.=1

+

Сложение

${question_one} + 4

-

Вычитание

${question_one} - 4

*

Умножение

${question_one} * 4

div

Деление

${question_one} div 4

=

Равно

${price}=9.80

!=

Не равно

${price}!=9.80

<

Меньше

${price}<9.80

<=

Меньше или равно

${price}<=9.80

>

Больше

${price}>9.80

>=

Больше или равно

${price}>=9.80

and

И

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

mod

Модуль (остаток от деления)

${question_one} mod ${question_two}

or

Или

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

Функции

В Survey123 поддерживаются следующие функции:

ФункцияОписаниеПример

boolean(question, expression, or value)

Возвращает true, если введенное значение не null.

Лучше использовать boolean-from-string().

Внимание:

Эта функция будет всегда возвращать true в веб-приложении Survey123. Для альтернативных вариантов см. Пустые значения.

boolean(${question_one})

boolean-from-string()

Возвращает true, если введенное значение 'true' или '1'. В противном случае возвращается false.

boolean-from-string(${question_one})

coalesce(value1, value2)

Возвращает первое непустое значение. Эта функция поддерживает только два значения.

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

concat(value1, value2, …)

Возвращает результат конкатенации строковых значений.

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

contains(string, substring)

Возвращает true, если введенная строка содержит подстроку.

contains(${question_one}, 'red')

count(repeat)

Возвращает число ответов на заданный вопрос в повторах. Более подробно см. Функции агрегации.

Примечание:

При работе в полевом приложении Survey123, эта функция может быть расположены внутри или снаружи повтора. Если эта функция используется в веб-приложении Survey123, она должна быть расположена снаружи повтора. Значение количества, расположенное снаружи повтора, может учитываться в вычислении внутри повтора.

count(${question})

count-selected(question)

Возвращает число выбранных ответов для вопросов select_one и select_multiple Эта функция также возвращает число вложенных файлов для вопросов с изображениями, аудио и файлами с помощью многострочного интерфейса.

count-selected(${question_one})

date(question, expression, or value)

Преобразует число или текст в объект даты, не сохраняя время.

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

date-time(question, expression, or string)

Преобразует число или текст в объект даты.

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

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

Преобразует объект даты в десятичное число дата-время.

decimal-date-time(${date_question})

decimal-time(question, expression, or string)

Преобразует объект времени в десятичное число, соответствующее части дня в часовом поясе устройства.

decimal-time(${time_question})

ends-with(string, substring)

Возвращает true, если введенная строка заканчивается подстрокой.

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

false()

False

false()

format-date()

Приводит значения даты или времени в соответствие с заданным форматом.

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

if(condition, a, b)

Если условие оценивается как истина, возвращается a, иначе возвращается b.

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

индексированный повтор(вопрос, повтор, индексный номер)

Возвращает значение из определенного вопроса в записи повтора. Для получения дополнительных сведений см. раздел Повторы.

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

int(question, expression, or value)

Конвертирует в целое число. Конвертация зависит от типа данных.

Примечание:

Если эта функция пустая, будет возвращено NaN, и вопрос останется пустым.

int(${question_one})

join(separator, question)

Объединяет все ответы на данный вопрос, разделив их указанным разделителем.

join(',', ${question_in_repeat})

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

Используется для вопросов select_one. Возвращает надпись, связанную с выбором для данного вопроса. Помните, что вопрос нужно поместить в кавычки.

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

Используется для вопросов select_multiple. Возвращает надпись, связанную с выбором для данного вопроса. Можно использовать функцию selected-at() для извлечения надписи для отдельных ответов. Помните, что вопрос нужно поместить в кавычки.

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

max(value1, value2, ...)

Возвращает максимальное значение в заданном диапазоне, или для одного вопроса в повторах.

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

min(value1, value2, ...)

Возвращает минимальное значение в заданном диапазоне, или для одного вопроса в повторах.

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

not(expression)

Возвращает булево значение ложь, если выражение вернуло истину, и возвращает булево значение истина, если выражение вернуло ложь.

not(selected(., 'yes'))

now()

Возвращает текущее время для экземпляра. Эта функция используется в вопросах типа Время и ДатаВремя. Работает так же, как выражение today() iв вопросах типа Дата.

now()

number(question, expression, or value)

Конвертирует в число. Конвертация зависит от типа данных.

Примечание:

Если эта функция пустая, будет возвращено NaN, и вопрос останется пустым.

number(${question_one})

once()

Если для вопроса уже есть значение, возвращается имеющееся значение. Эта функция применяется при использовании random() или uuid() в повторяющемся вопросе, для того чтобы убедиться, что значение не меняется при переходе по повторяющимся записям в форме.

once(uuid())

position(..)

Возвращает индекс текущей записи в повторе. Для получения дополнительных сведений см. раздел Повторы.

position(..)

pulldata()

Возвращает значение из внешнего файла CSV. Подробнее см. Получение значения из CSV.

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

pulldata("@exif")

Возвращает значение из метаданных EXIF изображения. Подробнее см. Извлечение метаданных изображения.

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

pulldata("@geopoint")

Возвращает значение из вопроса геоточка. Подробнее см. Извлечь значения геоточки.

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

pulldata("@javascript")

Запускает функцию JavaScript в форме и возвращает результат. Подробнее см. Функции JavaScript в формах опроса.

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

pulldata("@json")

Возвращает значение из объекта JSON. Подробнее см. Получить значение из JSON.

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

pulldata("@layer")

Запрашивает векторный слой, таблицу объектов или картографический сервис с поддержкой запросов ArcGIS и возвращает результат. Для получения дополнительной информации см. Запрос к векторному слою.

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

pulldata("@property")

Возвращает информацию об устройстве или вошедшем пользователе. Подробнее см. Свойства устройства и пользователя.

pulldata("@property", 'username')

random()

Возвращает случайное значение в диапазоне от 0 (включительно) до 1 (не включительно).

random()

regex()

Применяет регулярное выражение как входящее для вопроса Возвращает true при совпадении шаблона. Более подробную информацию см. в разделе Регулярные выражения.

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

selected(вопрос, значение)

Проверяет, выбран ли ответ. Эта функция используется для вопросов select_one и select_multiple.

selected(${question_one}, 'a')

selected-at(question, number)

Используется для вопросов select_multiple. Возвращает имя варианта, соответствующее данному числу, начиная с нуля, например, '2' возвратит третий вариант.

selected-at(${question_one}, 2)

starts-with(string, substring)

Возвращает true, если введенная строка начинается с подстроки.

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

string(question, expression, or value)

Конвертирует в строку. Конвертация зависит от типа данных.

string(${question_one})

string-length(question, expression, or value)

Возвращает длину непустой строки.

string-length(${question_one})

substr(question, start, end)

Возвращает подстроку, начиная с заданного символа (начало) и заканчивая символом (конец -1, где наименьшим значением начала и конца является 0.

substr(${question_one}, 1, 2)

sum(repeat)

Возвращает сумму всех ответов на заданный вопрос в повторах. Более подробно см. Функции агрегации.

Примечание:

При работе в полевом приложении Survey123, эта функция может быть расположены внутри или снаружи повтора. Если эта функция используется в веб-приложении Survey123, она должна быть расположена снаружи повтора. Значение суммы, расположенное снаружи повтора, может учитываться в вычислении внутри повтора.

sum(${question})

today()

Возвращает сегодняшнюю дату, которая хранится внутри, как полдень по местному времени. Эта функция используется в вопросах типа Дата.

today()

true()

True

true()

uuid()

Возвращает случайную строку UUID.

uuid()

version()

Возвращает версию опроса, указанную в настройках рабочего листа.

version()

Следующие математические функции поддерживаются в Survey123.

ФункцияОписаниеПример

acos(значение)

Возвращает арккосинус значения.

acos(${question_one})

asin(значение)

Возвращает арксинус значения.

asin(${question_one})

atan(значение)

Возвращает арктангенс значения.

atan(${question_one})

atan2(значение1, значение2)

Возвращает арктангенс деления значений.

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

cos(значение)

Возвращает косинус значения как угол в радианах.

cos(${question_one})

sin(значение)

Возвращает синус значения как угол в радианах.

sin(${question_one})

tan(значение)

Возвращает тангенс значения как угол в радианах.

tan(${question_one})

exp(значение)

Возвращает значение натуральной экспоненты числа.

exp(${question_one})

exp10(значение)

Возвращает значение, равное 10 в заданной степени.

exp10(${question_one})

log(значение)

Возвращает значение натурального логарифма числа.

log(${question_one})

log10(значение)

Вычисляет логарифм по основанию 10 числа.

log10(${question_one})

pi()

Возвращает значение pi.

pi()

pow(значение, степень)

Возвращает значение в заданной степени.

pow(${question_one}, 3)

round(значение, степень)

Возвращает округленное значение.

round(${question_one}, 5)

sqrt(значение)

Возвращает квадратный корень от числа.

sqrt(${question_one})

Формат HTML

Можно использовать HTML-форматирование в подписях вопроса и подсказках, а также в подписях в списках выбора. Поддерживаются следующие форматы HTML:

ТегАтрибут

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

¹Поддерживаются только в веб-приложении Survey123.

Подсказка:

По умолчанию создается гиперссылка с HTML-форматированием и открывается в Survey123 веб-приложении на той же вкладке, что и отчет. А чтобы открыть эту ссылку в новой вкладке, добавьте target="_blank" к тегу a href, например:

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

Регулярные выражения

Регулярные выражения представляют собой последовательность символов, которые определяют шаблон поиска. Они могут использоваться в одном вопросе для определения его значения на основе других вопросов или с целью ограничения ввода данных. Регулярное выражение может быть построено из подвыражений, перечисленных в следующей таблице: Более подробно см. раздел Формулы.

ПодвыражениеСопоставить

^

Соответствует началу строки.

$

Соответствует концу строки.

.

Соответствует любому символу, за исключением символу перехода на новую строку.

[...]

Соответствует любому отдельному символу в скобках.

[^...]

Соответствует любому отдельному символу вне скобок.

(re)

Группирует регулярные выражения и запоминает соответствующий текст.

(?: re)

Группирует регулярные выражения без запоминания соответствующего текста.

a| b

Соответствует или a, или b.

\A

Начало всей строки.

\b

Если за скобками, то соответствует границам слова, если в скобках соответствует символу backspace (0x08).

\B

Соответствует границам, не образующим слово.

\d

Соответствует цифрам. Эквивалентно [от 0 до 9].

\D

Соответствует не цифрам.

\E

Закрывает кавычки, начатые с \Q.

\G

Соответствует точке, в которой завершено последнее совпадение.

\n, \t, \e и т.д.

Соответствует новой строке, табуляции, выходу и т.д.

\N

Обратная ссылка для операции получения номера группы N.

\Q

Отменяет (заключает в кавычки) все символы вплоть до \E.

re*

Соответствует 0 или более случаям появления предшествующего выражения.

re+

Соответствует 1 или более случаям появления предшествующего выражения.

re?

Соответствует 0 или 1 случаям появления предшествующего выражения.

re{ n}

Соответствует точному количеству случаев появления предшествующего выражения, заданному вместо n.

re{ n,}

Соответствует n или более случаям появления предшествующего выражения.

re{ n, m}

Соответствует как минимум количеству случаев, заданных n, и как максимум, заданных m, в предшествующем выражении.

\s

Соответствует символу пробела; табулятор, ввод линии, ввод формы, возврат каретки или пробел.

\S

Соответствует не пробелам.

\w

Соответствует символам слов.

\W

Соответствует символам, не образующим слово.

\z

Конец всей строки.

\Z

Конец всей строки, за исключением допустимого разделителя конечных строк.

Например, в регулярном выражении regex(.,'^[A-Za-z]*$') требуется ввод пользователем в строке опросника только букв, без чисел и без специальных символов.

Типы полей Esri

Столбец bind::esri:fieldType можно использовать для того, чтобы заметить тип поля по умолчанию на одно из следующих значений. Более подробно см. Пользовательские столбцы Esri.

Значение поляРезультат

esriFieldTypeDate

Значения даты и времени

esriFieldTypeDateOnly

Только значения дат, без значений времени

esriFieldTypeTimeOnly

Только значения времени, без значений дат

esriFieldTypeTimestampOffset

Значения даты, времени и сдвига от значения UTC

esriFieldTypeDouble

Числа с плавающей точкой двойной точности

esriFieldTypeGUID

Глобальный уникальный идентификатор

esriFieldTypeInteger

Целочисленные значения (32 bit)

esriFieldTypeBigInteger

Целочисленные значения (64 bit)

esriFieldTypePointZ

Включает запись значений высот в геоточках

esriFieldTypeString

Группа буквенно-цифровых символов

null

Пустое поле, не содержит значений

Специальные символы

Имена вопросов и ответов не должны содержать специальные символы, как-то пробелы, запятые, дефисы, круглые скобки, квадратные скобки и такие символы, как $, % и #. Важно, чтобы имена вариантов ответов для вопросов select_multiple не содержали пробелов или запятых.