Skip To Content

Referencia rápida

Survey123 for ArcGIS admite una buena parte de la especificación XLSForm. Esta guía de referencia proporciona un resumen de las características de XLSForm que puede usar en Survey123. Las encuestas se pueden crear en Survey123 Connect o en el sitio web de Survey123; algunas características solo están disponibles actualmente en una de las dos versiones y otras están disponibles en ambas.

Tipos de preguntas

Tipo de preguntaDescripciónDisponible en Survey123 ConnectDisponible en el diseñador web de Survey123 Visible en la aplicación de campo de Survey123 Visible en la aplicación web de Survey123

integer

Entrada de número entero.

decimal

Entrada decimal.

text

Respuesta de texto libre.

select_one [list_name]

Pregunta con varias opciones; solo se puede seleccionar una respuesta. Reemplace [list_name] para que haga referencia a la lista de respuestas correcta.

select_multiple [list_name]

Pregunta con varias opciones; se pueden seleccionar varias respuestas. Reemplace [list_name] para que haga referencia a la lista de respuestas correcta.

note

Muestra texto en la pantalla. También puede manejar cálculos ocultos.

geopoint

Captura una coordenada GPS dada. Se establece de forma predeterminada en la ubicación actual.

date

Entrada de fecha.

time

Entrada de hora.

dateTime

Entrada de fecha y hora.

image

Acepta una imagen de los archivos del dispositivo o una fotografía hecha por el usuario.

begin group

Inicia un grupo de preguntas.

No

end group

Finaliza un grupo de preguntas.

No

begin repeat

Inicia un grupo de preguntas que se repiten.

No

end repeat

Finaliza un grupo de preguntas que se repiten.

No

calculate

Realiza un cálculo con los valores del formulario. El campo calculate contiene el resultado del cálculo.

No

nombre de usuario

Cuando se inicia sesión con una cuenta de organización, esta pregunta se rellena automáticamente con el nombre de usuario de la cuenta.

No

email

Cuando se inicia sesión con una cuenta de organización, esta pregunta se rellena automáticamente con la dirección de correo electrónico de la cuenta.

No

hidden

Crea en el servicio de entidades un campo que no se muestra en el formulario. Use las columnas bind::esri:fieldType y bind::esri:fieldLength para especificar el esquema de datos de este campo.

No

barcode

Escanea un código de barras o un código QR.

No

No

start

Fecha y hora de inicio de la encuesta.

No

final

Fecha y hora de finalización de la encuesta.

No

deviceid

El UUID que representa al dispositivo específico con el que se respondió a esta encuesta.

No

No

audio

Acepta una muestra de audio grabada.

No

archivo

Acepta un archivo en el dispositivo.

No

No

Diferencias de las preguntas en la aplicación y en la web

Aunque la tabla anterior describe los tipos de preguntas disponibles en Survey123 Connect, la aplicación de campo de Survey123, el diseñador web de Survey123 y la aplicación web de Survey123, existen diferencias en su comportamiento y la implementación entre plataformas.

  • El diseñador web combina preguntas de tipo entero o decimal en un único tipo de pregunta denominado Número. La casilla de verificación de las propiedades de la pregunta permite al diseñador de la encuesta definir la entrada necesaria.
  • Las preguntas de tipo correo electrónico proporcionadas en Survey123 Connect y en el diseñador web de Survey123 se implementan de forma distinta. La versión ofrecida en Survey123 Connect se rellena automáticamente con la dirección de correo electrónico de la cuenta de organización con la que el usuario tiene sesión iniciada. Por el contrario, la versión ofrecida en el diseñador web de Survey123, es un campo de texto que solo acepta la concordancia con el formato de direcciones de correo electrónico.
  • Las preguntas de geopunto tienen la opción de cálculo de promedio de ubicaciones en la aplicación de campo de Survey123, la cual no está disponible en la aplicación web.
  • Las preguntas de audio no permiten la grabación en la aplicación web Survey123. En su lugar, permiten al usuario examinar y adjuntar desde su dispositivo un archivo de audio existente.
  • Varios tipos de apariencia disponibles en Survey123 Connect están disponibles como tipos de preguntas individuales en el diseñador web de Survey123. Incluye preguntas de varias líneas, desplegables y de Likert.

Columnas de XLSForm

La tabla siguiente contiene todas las columnas admitidas por Survey123. Estas columnas están disponibles en la plantilla Advanced.

ColumnaDescripción

type

Seleccione un tipo de pregunta de la lista proporcionada. Introduzca un nombre de lista válido si utiliza una pregunta select_one o select_multiple.

name

El nombre del campo en la base de datos resultante.

label

La etiqueta de pregunta que aparece en su encuesta.

hint

Información adicional que puede ayudar a resolver la pregunta de la encuesta.

constraint

Limite el rango de números que pueden introducirse (por ejemplo, >0 y <100). Se puede usar con todos los tipos de preguntas.

constraint_message

Si no se cumplen las condiciones de restricción, aparecerá este mensaje para pedir una respuesta válida.

required

Seleccione yes para exigir un valor en este campo antes de completar la encuesta.

required_message

Si un campo obligatorio no tiene respuesta, aparecerá el mensaje de esta columna para pedir una respuesta.

appearance

Seleccione el aspecto de este campo de la encuesta.

default

Establezca el valor predeterminado para este campo. Con ello se rellenará previamente la encuesta con el valor predeterminado. Puede utilizarlo para ahorrar tiempo, bien proporcionando una respuesta utilizada habitualmente o mostrando el tipo de respuesta esperado.

readonly

Seleccione yes para definir los valores de este campo a solo lectura. Estos valores no se pueden editar en la encuesta.

relevant

Le ofrece la posibilidad de omitir preguntas o hacer que aparezcan preguntas adicionales en función de la respuesta a una pregunta anterior. Una pregunta pasa a ser relevante si cumple las condiciones del campo relevant (por ejemplo, ${name} = 'value').

calculation

Realice cálculos con los valores de preguntas anteriores (por ejemplo, ${number}*100). Haga referencia al campo calculate para mostrar el resultado (por ejemplo, The answer is ${calc}).

choice_filter

Si utiliza selecciones en cascada, este campo alberga la expresión para asignar las columnas de atributos adicionales de la pestaña choices (por ejemplo, attribute=${value}).

repeat_count

Este valor especifica el número de registros disponibles en una repetición. Una vez especificado el recuento de repeticiones, no puede agregar ni eliminar registros de la repetición.

label::language1

Proporcione aquí las traducciones para las preguntas de su encuesta. Puede incluir más traducciones creando una nueva columna, (por ejemplo, label::Español (es)). La lista de idiomas aparecerá en un menú desplegable de la encuesta.

hint::language1

Proporcione aquí las traducciones para las sugerencias de las preguntas de su encuesta. Puede incluir más traducciones creando una nueva columna, (por ejemplo, hint::Español (es)). La lista de idiomas aparecerá en un menú desplegable de la encuesta.

media::audio

Copie un archivo de audio a la subcarpeta media de su proyecto e introduzca aquí el nombre de su archivo de audio (por ejemplo, audio.mp3) para que su pregunta incluya audio.

media::image

Copie un archivo de imagen a la subcarpeta media de su proyecto e introduzca aquí el nombre de su archivo de imagen (por ejemplo, image.jpg) para que su pregunta incluya una imagen.

body::accuracyThreshold

Proporcione un valor numérico para el umbral (en metros), pasado el cual no se aceptarán resultados de geopuntos. Esto solo se aplica a las preguntas de geopunto.

bind::esri:fieldType

Defina el tipo de campo objetivo en el servicio de entidades. Se puede usar para sobrescribir el tipo de campo predeterminado (por ejemplo, los campos calculate y select_one son cadenas de forma predeterminada. Para guardar los valores del servicio de entidades como enteros, seleccione esriFieldTypeInteger).

bind::esri:fieldLength

Defina la longitud de campo objetivo en el servicio de entidades. Se puede usar para sobrescribir la longitud de campo predeterminada.

bind::esri:fieldAlias

Proporcione valores para el alias de campo en su servicio de entidades. Se puede usar para sobrescribir los valores de alias de campo predeterminados, obtenidos de la etiqueta de la pregunta.

body::esri:inputMask

Proporcione una expresión para usar una máscara de entrada y así ofrecer un formato definido para la entrada de datos mediante el uso de caracteres y símbolos.

bind::esri:parameters

Proporciona expresiones que se utilizarán para definir el comportamiento de una pregunta (por ejemplo, el comportamiento de las repeticiones al editar la encuesta).

bind::saveIncomplete

Establézcalo en true si la aplicación debe guardar automáticamente la respuesta tras la pregunta.

bind::type

Un tipo de campo que sobrescribe el tipo de campo predeterminado para la pregunta.

bind::esri:warning

Aplique una expresión que muestre advertencias si no se cumplen las condiciones.

bind::esri:warning_message

El mensaje aparece si no se cumplen las condiciones de bind::esri:warning.

Valores de apariencia

Los siguientes valores se pueden introducir en la columna de apariencia para algunos tipos de preguntas con el fin de alterar su apariencia o su comportamiento. Para obtener más información sobre cada opción, consulte Apariencia.

Valor de aparienciaTipo de pregunta relacionadoDescripción

firma

image

Presenta una interfaz de usuario para capturar una firma. La firma se agrega a la entidad como adjunto.

draw

image

Permite al usuario abrir una ventana de lienzo en el que puede dibujar.

annotate

image

Permite al usuario abrir una ventana de lienzo en el que puede dibujar y que también admite la anotación en las imágenes.

minimal

select_one, select_multiple, barcode

Presenta respuestas múltiples (select_one, select_multiple), preguntas múltiples (repeticiones) y un cuadro de texto (código de barras) con un estilo oculto o minimizado.

multiline

text

Hace que el cuadro de texto tenga varias líneas de largo.

likert

select_one

Hace que las opciones de respuesta aparezcan como una escala de Likert.

month-year

date

Selecciona únicamente un mes y un año para la fecha.

year

date

Selecciona únicamente un año para la fecha.

week-number

date

Selecciona un número de semana.

distress

integer

Muestra la pregunta como una escala deslizante con colores.

calculator

integer, decimal

Muestra un widget de calculadora personalizado para esta pregunta.

numbers

integer, decimal

Muestra un widget de teclado numérico para esta pregunta.

spinner

integer, decimal

Agrega botones para aumentar y reducir el valor.

horizontal

select_one, select_multiple

Muestra opciones de respuesta en dirección horizontal y en columnas.

horizontal-compact

select_one, select_multiple

Muestra las respuestas en dirección horizontal.

autocomplete

select_one

Las opciones de respuesta aparecen en un menú desplegable con entrada de texto para reducir las opciones.

compactar

grupos, repeticiones

Presenta las preguntas con un estado contraído al principio y luego el usuario puede expandirlas.

compacto mínimo

repeticiones

Presenta preguntas dentro de una repetición tanto de forma contraída (compact) como oculta (minimal).

field-list

grupos, repeticiones

Muestra el grupo de preguntas en una página separada si el estilo de la encuesta se define como páginas.

símbolo

geopoint

Defina un marcador personalizado en sustitución de la vista predeterminada en el mapa.

hide-input

geopoint

Contrae la sección de introducción de coordenadas si la encuesta se abre en el formulario web. No tiene ningún efecto en la aplicación de campo.

Validación de datos

Introducir yes como valor en la columna required , la pregunta de la encuesta requiere la introducción de un valor para poder completar el formulario.

Valores predeterminados

Al introducir today() en la columna default de una pregunta con fecha, el valor cambia de forma predeterminada a la fecha actual.

Las respuestas del tipo de pregunta select_multiple funcionan de un modo distinto a otras, ya que cada respuesta activada se introduce en el orden en el que se seleccionó, separada de las demás por comas. Para definir varios valores como predeterminados en una pregunta select_multiple, sepárelos con comas, por ejemplo, item1,item2,item3.

Operadores de fórmulas

Los operadores que se mencionan en la siguiente tabla se pueden usar en las columnas constraint, calculation y relevant, aunque muchos de ellos no se pueden utilizar en todas ellas.

Para obtener más información sobre los cálculos y las restricciones, consulte Fórmulas; para obtener más información sobre el uso de la columna "relevant", consulte Formar expresiones.

OperadorDescripciónEjemplo

.

La respuesta actual

.=1

|

Calcula dos conjuntos de nodos

//book | //cd

+

Adición

6 + 4

############################################################-

Resta

6 - 4

*

Multiplicación

6 * 4

div

División

8 div 4

=

Igual

price=9.80

!=

No es igual

price!=9.80

<

Menor que

price<9.80

<=

Menor o igual que

price<=9.80

>

Mayor que

price>9.80

>=

mayor o igual que

price>=9.80

o bien,

O

price=9.80 or price=9.70

y

And

price>9.00 and price<9.90

mod

Módulo (resto de la división)

5 mod 2

También se pueden usar las siguientes funciones no matemáticas:

FunciónDescripciónEjemplo

selected(question, value)

Comprueba si se ha seleccionado una respuesta. Se utiliza en las preguntas select_one y select_multiple.

selected(${question_one}, 'a')

count-selected(question)

Devuelve el número de respuestas seleccionadas. Se utiliza en las preguntas select_multiple.

count-selected(${question_one})

string-length(question)

Devuelve la longitud de una cadena no vacía.

string-length(${question_one})

substr(question, start, end)

Devuelve la subcadena empezando en el inicio especificado y se extiende al carácter que se encuentra en índice final -1, donde el inicio y el final empiezan en 0.

substr(${question_one},1 ,2)

not(expression)

Devuelve un valor si la expresión no se ha evaluado.

not(selected(., 'yes'))

if(condition, a, b)

Si es verdadero devuelve a; de lo contrario, devuelve b.

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

true()

True

true()

false()

False

false()

uuid()

Devuelve una cadena de caracteres de UUID aleatoria.

uuid()

random()

Devuelve un valor aleatorio entre 0 (incluido) y 1 (excluido).

random()

today()

Devuelve la fecha de hoy. Se utiliza en preguntas de fecha.

today()

now()

Devuelve una marca de hora para este instante. Se utiliza en preguntas de hora y de tiempo y hora.

now()

once()

Si una pregunta ya tiene un valor, devuelve el valor existente. Resulta útil cuando se utiliza random() o uuid() en una pregunta repetida para asegurarse de que el valor no va a cambiar cuando navegue por los registros repetidos del formulario.

once(uuid())

boolean(question or value)

Devuelve el valor True si el valor proporcionado no es nulo.

Se recomienda utilizar en su lugar boolean-from-string().

boolean(${question_one})

number(question or value)

Convierte a número. La conversión varía según el tipo de datos.

number(${question_one})

int(question or value)

Convierte a entero. La conversión varía según el tipo de datos.

int(${question_one})

string(question or value)

Convierte a cadena de caracteres. La conversión varía según el tipo de datos.

string({$question_one})

date()

Convierte un número o cadena de caracteres en un objeto de fecha, sin mantener la hora.

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

date-time()

Convierte un número o cadena de caracteres en un objeto de fecha.

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

decimal-date-time()

Convierte un objeto de fecha en un número de fecha-hora decimal.

decimal-date-time(${date_question})

decimal-time()

Convierte un objeto de hora en un número que representa una fracción de un día en la zona horaria del dispositivo.

decimal-time(${time_question})

coalesce(value1, value2)

Devuelve el primer valor no vacío. Solo se admiten dos valores.

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

concat(value1, value2, …)

Devuelve la concatenación de los valores de la cadena de caracteres.

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

max(value1, value2, ...)

Devuelve el valor máximo de un rango dado o para una pregunta simple en repeticiones.

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

min(value1, value2, ...)

Devuelve el valor mínimo de un rango dado o para una pregunta simple en repeticiones.

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

sum(repeat)

Devuelve la suma de todas las respuestas a una pregunta dada en repeticiones.

sum(${question})

count(repeat)

Devuelve la cantidad de respuestas a una pregunta dada en repeticiones.

count(${question})

pulldata()

Devuelve información guardada en un archivo CSV externo o en las propiedades de una respuesta.

pulldata('info','email','name', ${previous_question})

version()

Devuelve la versión de la encuesta definida en la hoja de cálculo de configuración.

version()

boolean-from-string()

Devuelve el valor True si la cadena de caracteres proporcionada es "true" o "1". De lo contrario, devuelve False.

boolean-from-string(${question_one})

contains(string, substring)

Devuelve el valor True si cadena de caracteres indicada contiene la subcadena.

contains(${question_one}, 'red')

starts-with(string, substring)

Devuelve el valor True si cadena de caracteres indicada comienza por la subcadena.

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

ends-with(string, substring)

Devuelve el valor True si cadena de caracteres indicada termina por la subcadena.

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

selected-at(question, number)

Se utiliza en las preguntas select_multiple. Devueve el nombre de la opción seleccionada para el número indicado; Por ejemplo, "2" devolverá la segunda opción seleccionada.

selected-at(${question_one}, 2)

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

Se utiliza en las preguntas select_one y select_multiple. Devueve la etiqueta asociada al nombre de la opción de la pregunta indicada. Recuerde que la pregunta debe estar definida dentro de comillas.

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

join(separator, question)

Concatena todas las respuestas de una pregunta determinada en una repetición, separadas por el separador indicado.

join(',', ${question_in_repeat})

Funciones matemáticas

Las siguientes funciones no matemáticas se pueden utilizar en la columna calculation de su encuesta:

FunciónDescripciónEjemplo

pi()

Devuelve pi.

pi()

acos(value)

Devuelve el arcocoseno del valor.

acos(${question_one})

asin(value)

Devuelve el arcoseno del valor.

asin(${question_one})

atan(value)

Devuelve el arco tangente del valor.

atan(${question_one})

cos(value)

Devuelve el coseno del valor.

cos(${question_one})

sin(value)

Devuelve el seno del valor.

sin(${question_one})

tan(value)

Devuelve la tangente del valor expresada en grados de un ángulo.

tan(${question_one})

exp(value)

Devuelve el exponente natural del valor.

exp(${question_one})

exp10(value)

Devuelve 10 a la potencia del valor.

exp10(${question_one})

log(value)

Devuelve el logaritmo natural del valor.

log(${question_one})

log10(value)

Devuelve el logaritmo en base 10 del valor.

log10(${question_one})

sqrt(value)

Devuelve la raíz cuadrada del valor.

sqrt(${question_one})

atan2(value1, value2)

Devuelve el arco tangente del cociente de los valores.

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

round(value, power)

Devuelve el valor redondeado.

round(${question_one}, 5)

pow(value, power)

Devuelve el valor a la potencia especificada.

pow(${question_one}, 3)

Formato HTML

Se puede utilizar HTML en el denominador de campo para cambiar la apariencia del texto mostrado tal y como se describe en la siguiente tabla:

Tipo de formatoHTMLResultado

Color de fuente

<font color="red"></font>

El texto está en rojo.

Hipervínculo

<a href="http://www.esri.com"></a>

El texto es el vínculo al sitio web.

Negrita

<b></b>

El texto está en negrita.

Cursiva

<i></i>

El texto está en cursiva.

H1

<H1></H1>

Formato de primer encabezado

H2

<H2></H2>

Formato de segundo encabezado

Párrafo

<p>

Salto de línea.

Centro

<center></center>

El texto está centrado.

Cita en bloque

<blockquote></blockquote>

Texto con cita en bloque sangrada.

Subrayado

<u></u>

El texto está subrayado.

Tipografía de máquina de escribir

<tt></tt>

El texto está con tipografía de máquina de escribir fuente.

Tachado

<s></s>

El texto está con fuente de tachado.

Lista desordenada

<ul><li></li></ul>

El texto aparece como puntos en una lista desordenada.

Número de teléfono

<a href="tel:555-555-5555">555-555-5555</a>

El texto es el vínculo al número de teléfono.

Dirección de correo electrónico

<a mailto="someone@somewhere.com">someone@somewhere.com</a>

El texto es el vínculo a la dirección de correo electrónico.

Expresiones regulares

Las expresiones regulares son secuencias de caracteres que definen un patrón de búsqueda. Se pueden usar en una pregunta para determinar su valor en función de otras preguntas o para restringir la entrada de datos. Se puede generar una expresión regular a partir de las subexpresiones enumeradas en la siguiente tabla. Para obtener más información, consulte Fórmulas.

SubexpresiónCoincidencia

^

Coincide con el inicio de la línea.

$

Coincide con el final de la línea.

.

Coincide con cualquier carácter excepto el de nueva línea.

[...]

Coincide con cualquier carácter entre corchetes.

[^...]

Coincide con cualquier carácter que no esté entre corchetes.

\A

Inicio de la cadena de caracteres completa.

\z

Final de la cadena de caracteres completa.

\Z

Final de la cadena de caracteres completa, excepto el terminador de línea final permitido.

re*

Coincide con 0 o más instancias de la expresión precedente.

re+

Coincide con 1 o más instancias de la expresión precedente.

re?

Coincide con 0 o 1 instancias de la expresión precedente.

re{ n}

Coincide con el número exacto de instancias de la expresión anterior definida en lugar de n.

re{ n,}

Coincide con n o más instancias de la expresión precedente.

re{ n, m}

Coincide con al menos el número de instancias definido por n y, como máximo, con el definido por m en la expresión precedente.

a| b

Coincide con a o con b.

(re)

Agrupa las expresiones regulares y recuerda el texto coincidente.

(?: re)

Agrupa las expresiones regulares sin recordar el texto coincidente.

\w

Coincide con caracteres de palabras.

\W

Coincide con caracteres que no pertenecen a palabras.

\s

Coincide con un carácter de espacio en blanco, tabulación, salto de línea, salto de formulario, retorno de carro o espacio.

\S

Coincide con un espacio que no está en blanco.

\d

Coincide con dígitos. Equivalente a [0 a 9].

\D

Coincide con caracteres que no son dígitos.

\G

Coincide con el punto en el que terminaba la coincidencia anterior.

\n

Referencia para capturar el número de grupo n.

\b

Coincide con los límites de la palabra si está fuera de los corchetes. Coincide con el retroceso (0x08) si está dentro de los corchetes.

\B

Coincide con los límites que no pertenecen a palabras.

\n, \t, etc.

Coincide con las nuevas líneas, los retornos de carro, los tabuladores, etc.

\Q

Escape (comilla) de todos los caracteres hasta \E.

\E

Fin de las comillas abiertas con \Q.

Por ejemplo, la expresión regular regex(.,'^[A-Za-z]*$') requiere que el usuario introduzca únicamente letras, sin números o caracteres especiales, en una pregunta de cadena de caracteres.

Tipos de campos Esri

La columna bind::esri:fieldType se puede usar para sobrescribir el tipo de campo predeterminado con uno de los valores indicados a continuación. Para obtener más información, consulte Columnas personalizadas de Esri.

Valor de campoResultado

esriFieldTypeDate

Fecha

esriFieldTypeDouble

Números con punto flotante de doble precisión

esriFieldTypeInteger

Números enteros

esriFieldTypeString

Una serie de símbolos alfanuméricos

esriFieldTypePointZ

Permite capturar la altitud en geopuntos

esriFieldTypeGUID

Identificador único global

nulo

Campo nulo; no almacena valores

Caracteres especiales

Estos caracteres no se pueden utilizar en el nombre de una pregunta. Algunos de ellos también pueden provocar advertencias cuando se utilizan en listas de selección, pero pueden generarse y utilizarse correctamente, con la excepción de los espacios de una lista de selección utilizada por una pregunta select_multiple, que generarán un error.

Carácter especialNombre

Espacio

,

Coma

;

Punto y coma

############################################################-

Guion

/

Barra diagonal

$

Signo de dólar

.

Punto

(

Paréntesis de apertura

)

Paréntesis de cierre