Modelli di report

La funzionalità di report del sito Web di Survey123 consente di creare i propri modelli personalizzati e produrre più report contemporaneamente.

Un report può contenere quanto segue:

  • Una sezione di riepilogo
  • Un record di rilevamento individuale
  • Un record di rilevamento individuale e una sezione di riepilogo
  • Vari record di rilevamento
  • Vari record di rilevamento e una sezione di riepilogo
Nota:

La stampa di report è un servizio premium di ArcGIS Online e consuma crediti. Per ulteriori informazioni, consultare Stampa report.

La stampa di report in ArcGIS Enterprise non comporta il consumo di crediti ma presenta limitazioni.

Un modello di report è un file di Microsoft Word (.docx) contenente del testo usato come "segnaposto" con una sintassi specifica. Quando si stampa un report, questo testo viene sostituito con il contenuto dei campi corrispondenti nella risposta del rilevamento. Il testo segnaposto si può usare con qualsiasi formattazione, con tabelle, immagini o altre personalizzazioni per creare un modello specifico per le proprie esigenze.

Per creare un modello, fare clic sul pulsante Report sulla barra presente sopra la mappa nella scheda Dati, quindi fare clic su Gestisci modelli. Appare una nuova finestra che consente di scaricare un campione, caricare un nuovo modello o modificare il nome e il riepilogo di uno esistente. Fare clic su Nuovo modello per caricare un nuovo modello di report, fornendo anche un nome e un riepilogo per il modello una volta caricato. In alternativa, è possibile utilizzare il link Scarica un modello di esempio per scaricare un modello-campione basato sul proprio rilevamento.

Nota:

I modelli di report possono essere caricati solamente dal proprietario del rilevamento e dagli amministratori dell'organizzazione.

La condivisione dei risultati di un rilevamento con tutti, un'organizzazione o un gruppo consentirà di condividere anche i modelli dei report associati con il rilevamento.

Espressioni

La risposta a una domanda può essere visualizzata in un modello di report fornendo il nome racchiuso tra parentesi graffe come { e }, e preceduto dal simbolo del dollaro. L'espressione seguente mostrerà la risposta a una domanda di testo denominata firstname.

${firstname}

È inoltre possibile utilizzare espressioni per definire le risposte da visualizzare nel report, e per come vengono visualizzate. Un'espressione può essere un singolo nome di domanda, un calcolo che coinvolge una o più domande o un nome di domanda con metodi e parametri per vincolare o applicare uno stile alla risposta. Un'espressione utilizza la seguente notazione:

${questionname | method:parameter}

Un'espressione può includere più metodi e parametri o anche nessuno. I parametri possono essere valori di altre domande o valori fissi.

L'espressione seguente mostrerà il calcolo di una domanda di tipo numero denominata floweringtrees divisa per una domanda di tipo numero denominata totaltrees. Quando si fa riferimento a più domande nella stessa espressione, i nomi delle singole domande devono solo essere nominati direttamente e non necessitano di parentesi graffe aggiuntive.

${floweringtrees / totaltrees}

La seguente espressione visualizzerebbe il valore della coordinata x dalla domanda sulla posizione, dove getValue è il metodo e x è il parametro.

${location | getValue:"x"}

Le stringhe possono essere concatenate in un'espressione unendole con un segno più. Questa espressione usa questa concatenazione per passare il contenuto di una domanda chiamata field_0 a un servizio di generazione di codici QR, creando un codice QR per la risposta della domanda.

${$image | src:"https://barcode.tec-it.com/barcode.ashx?code=QRCode&data="+field_0}

Non tutti i tipi di domande supportano espressioni e metodi. La seguente tabella elenca i metodi e parametri correlati ai tipi di domanda che è possibile utilizzare.

MetodoParametriCollegare il tipo di domandaDomanda di tipo Web designerDescrizione

getValue

-

Tutti i tipi di domande

Tutti i tipi di domande

Recupera il valore dei dati non elaborati dal feature layer o l'immagine non elaborata da un allegato.

getValue

x, y, z, wkid

geopoint

Mappa

Recupera le coordinate x, y, z individualmente in un riferimento spaziale specificato. Il parametro wkid è facoltativo e, se omesso, sarà uguale al riferimento spaziale del feature layer.

getValue

lunghezza, area, unità, tipo di misurazione

geotrace, geoshape

Mappa

Restituisce la lunghezza di una polilinea oppure il perimetro o l'area di un poligono in specifiche unità e indica se le misure sono planari o geodetiche. Il tipo di misura predefinito è geodetico.

getValue

nome, dimensione

immagine, audio, file

Immagine, Firma, Audio, File

Restituisce il nome del file o la dimensione di un allegato.

getValue

larghezza, altezza, x, y, data, ora, direzione

immagine

Immagine, Firma

Larghezza e altezza restituiscono il valore intero della larghezza e dell'altezza in pixel dell'immagine, mentre x, y, data, ora e direzione restituiscono i valori letti dall'immagine EXIF, se presenti.

getValue

conteggio

inizio, ripetizione, immagine, audio, file

Ripeti, immagine, firma, audio, file

Restituisce il conteggio totale delle ripetizioni o degli allegati.

getValue

durata

audio, file

Audio, File

Restituisce la durata delle registrazioni audio in secondi.

Attenzione:

La durata non sarà restituita in risposte raccolte nell'app Web quando si usa Safari.

appearance

multiline

testo

Più righe di testo

Si usa per mantenere le interruzioni di riga nella stringa. Se non viene specificato alcun aspetto, la risposta restituisce una stringa a riga singola.

appearance

punti elenco

select_multiple

Selezione multipla

Restituisce la risposta in formato a elenco puntato.

selezionata

valore scelto

select_one, select_multiple

Selezione multipla, Selezione singola, Griglia di selezione singola, Elenco a discesa, Scala Likert, Valutazione

Restituisce una casella di controllo se il valore del campo è uguale a choiceValue; altrimenti, restituisce una casella di controllo non selezionata.

selezionato

valore scelto

select_one, select_multiple

Selezione multipla, Selezione singola, Griglia di selezione singola, Elenco a discesa, Scala Likert, Valutazione

Se è presente il dominio valore codificato, restituisce "true" se il valore del campo è uguale al valore scelto, altrimenti restituisce "false".

countSelected

-

select_one, select_multiple

Selezione multipla, Selezione singola, Griglia di selezione singola, Elenco a discesa, Scala Likert, Valutazione

Restituisce il numero di scelte selezionate.

selectedAt

indice

select_one, select_multiple

Selezione multipla, Selezione singola, Griglia di selezione singola, Elenco a discesa, Scala Likert, Valutazione

Restituisce la stringa nella posizione dell'indice nella lista di scelta. L'indice inizia da zero.

impostazioni locali

codice lingua

data, data/ora, inizio, fine, decimale

Data, Data e ora, Numero

Restituisce la data, ora e numero localizzati.

formattare

stringa formato

data, data/ora, intero, decimale, inizio, fine

Data, Data e ora

Restituisce una stringa data formattata.

utcOffset

valore di offset

data, data/ora, inizio, fine

Data, Data e ora

Restituisce un valore di data o data-ora spostato del valore di offset UTC.

mapSettings

elemento ID mappa web, scala mappa

geopoint, geotrace, geoshape

Mappa

Specifica la mappa di base e la scala quando si stampa l'immagine della mappa.

Legacy:

Sostituito da mappa e mapScale

mapExtent

xmin, ymin, xmax, ymax, wkid

geopoint, geotrace, geoshape

Mappa

Specifica l'estensione mappa fissata durante la stampa dell'immagine mappa. Il parametro wkid è facoltativo e verrà impostato a 4326 (WGS 1984) se omesso.

mappa

ID elemento mappa Web

geopoint, geotrace, geoshape

Mappa

Specifica la mappa di base quando si stampa l'immagine della mappa.

mapScale

Scala mappa

geopoint, geotrace, geoshape

Mappa

Specifica la scala della mappa quando si stampa l'immagine della mappa.

ruota

gradi

geopoint, geotrace, geoshape, immagine

Mappa, immagine

Specifica l'angolo di rotazione della mappa o immagine.

drawingInfo

currentLayer, URL feature layer

geopoint, geotrace, geoshape

Mappa

Specifica le informazioni del disegno quando si stampa l'immagine della mappa, includendo simbolo, etichetta e trasparenza.

src

URL immagine

-

-

Specifica l'URL origine di un elemento immagine dinamico.

dimensioni

larghezza, altezza, larghezza max, altezza max

immagine

Immagine

Specifica la dimensione dell'immagine stampata.

rotondo

località

decimale, geopoint, geotrace, geoshape

Numero

Arrotonda un numero decimale a determinate posizioni decimali.

useGrouping

booleano

decimale

Numero

Se vero, restituisce un numero con i separatori di raggruppamento determinati dal locale; altrimenti, se falso, nessun separatore utilizzato.

toFixed

località

decimale, geopoint, geotrace, geoshape

Numero

Specifica un numero fisso di cifre dopo il separatore decimale. Metterà zero se richiesto per soddisfare un numero fisso di cifre.

Nella finestra Gestisci modelli, seleziona Riferimento rapido per aprire una pagina contenente la sintassi di esempio per le espressioni per modificare la risposta visualizzata in un rapporto per ogni domanda della tua indagine. Per copiare questa sintassi, fare clic sul pulsante Copy to clipboard, quindi incollare la sintassi in un documento modello. Una volta caricato un modello, utilizzare le opzioni nel riquadro Report per produrre il report. Per ulteriori informazioni, consultare Stampa report.

Segnalare riferimento rapido con esempi di sintassi

Le sezioni seguenti descrivono gli scenari d'uso comune delle espressioni per ogni tipo di domanda e forniscono esempi.

Testo

Le domande di testo multilinea, create aggiungendo una domanda Testo multilinea nel Web designer di Survey123 o utilizzando l'aspetto multilinea per una domanda di testo in Survey123 Connect, ignorano i ritorni a capo per impostazione predefinita, visualizzando la risposta in un singolo blocco di testo. È possibile utilizzare un'espressione per visualizzare la risposta alla domanda con ritorni a capo nel seguente modo:

${multilinetext1 | appearance:"multiline"}

Posizionare questa espressione su una linea dedicata, altrimenti si verificheranno degli errori.

Numeri

Gli operatori matematici di base possono essere usati con le domande numeriche, utilizzabili per aggiungere, sottrarre, moltiplicare, dividere o trovare il modulo delle risposte a tali domande. Di seguito sono riportati degli esempi:

${number1 - 15}

${number1 * 6}

${number1 / number2}

${number1 % number2}

Suggerimento:

Se l'espressione include un'espressione matematica complessa, utilizzare le parentesi per accertarsi che la generazione del report fornisca il risultato atteso.

Per domande decimali, l'espressione round può essere usata per impostare un numero massimo di luoghi decimali a cui si può arrotondare il valore. L'esempio seguente arrotonda il numero 3,141592 alle quattro cifre decimali di 3,1416:

${decimal1 | round:4}

L'espressione toFixed può essere usata per impostare un numero massimo di luoghi decimali a cui si può arrotondare il valore. L'esempio seguente fissa il numero di decimali in 3.14 a 3.140:

${decimal1 | toFixed:3}

È possibile usare l'espressione di formato per visualizzare la risposta ad una domanda numerica in un modo specifico, usando caratteri segnaposto. I seguenti caratteri segnaposto sono supportati.

CarattereDescrizione

.

Separatore decimale.

,

Se inserito nel formato, aggiunge separatori di gruppo, con la dimensione del gruppo determinata dal numero di cifre tra il primo segnaposto separatore di gruppo e il segnaposto del punto decimale o la fine dell'espressione. Se non aggiunto, non viene utilizzato alcun separatore di gruppo.

0

Cifre richieste. Se la risposta ha meno del numero richiesto di cifre, sarà riempita di zeri.

#

Cifre facoltative. Se la risposta ha più cifre di quelle fornite, il numero verrà approssimato.

Suggerimento:

I separatori decimali e delle migliaia verranno visualizzati nel risultato stampato in base alla scala scelta.

L'esempio che segue restituisce la risposta ad un massimo di tre spazi decimali con i separatori delle migliaia, arrotondando se necessario.

${decimal1 | format:"#,##0.###"}

Immagini e altri allegati

Per le domande relative all'immagine, è possibile impostare le dimensioni in modo che nei report le immagini abbiano dimensioni coerenti. Il formato di queste espressioni è il seguente:

${image1 | size:width:height:max_width:max_height}

I valori larghezza e altezza determinano le dimensioni dell'immagine in pixel. Questi valori sono necessari per l'espressione ma inserendo il valore 0 non si imporranno limitazioni alle dimensioni dell'immagine. Ad esempio, la seguente espressione determina una larghezza di 300 pixel, conservando le proporzioni dell'immagine:

${image1 | size:300:0}

I valori massimi di altezza e larghezza limitano le dimensioni massime dell'immagine e sono opzionali. L'esempio che segue impone una larghezza di 300 pixel e limita l'altezza a non oltre 200 pixel:

${image1 | size:300:0:0:200}

È possibile utilizzare il metodo rotate per definire la rotazione in senso orario dell'immagine. Accetta valori da 0 a 360.

${image1 | size:300:0:0:200 | rotate:90}

Le domande relative alle immagini possono anche presentare dettagli delle immagini estratti e visualizzati in una risposta di un rilevamento. Può essere usata per visualizzare il nome del file e le dimensioni dell'immagine, come segue:

${image1 | getValue:"name"}

${image1 | getValue:"size"}

${image1 | getValue:"width"}

${image1 | getValue:"height"}

È possibile usare lo stesso metodo per visualizzare dati EXIF dall'immagine, mostrando anche il luogo e il momento di scatto della foto, come segue:

${image1 | getValue:"x"}

${image1 | getValue:"y"}

${image1 | getValue:"date"}

${image1 | getValue:"time"}

${image1 | getValue:"direction"}

Per visualizzare l'immagine originale a schermo intero e con la sua qualità, utilizzare l'espressione senza alcun metodo o utilizzare l'espressione getValue senza alcun valore:

${image1} o ${image1 | getValue:""}

Per visualizzare l'immagine originale a qualità piena ma a una dimensione impostata, usa insieme le espressioni getValue esize.

${image1 | getValue:"" | size:300:0}

Nota:

Se si imposta la dimensione di un'immagine mentre si usa qualsiasi altro parametro di espressione, size deve essere posizionato per ultimo nell'espressione.

Data e ora sono memorizzate come stringhe nei dati EXIF, quindi questi valori non possono essere formattati in un report utilizzando l'espressione format per le domande su data e ora. Se la formattazione di questi valori è importante, prendere in considerazione l'esecuzione dell'estrazione EXIF come parte del rilevamento utilizzando la funzione pulldata("@exif"). Per ulteriori informazioni, consultare Immagini.

Le espressioni getValue di cui sopra possono essere utilizzate anche per estrarre dati da qualsiasi proprietà valida in qualsiasi tipo di allegato, compresi i risultati di domande su immagini, audio e file. Le proprietà che possono essere estratte da tutti gli allegati sono le seguenti:

${file1 | getValue:"name"}

${file1 | getValue:"size"}

${file1 | getValue:"globalId"}

${file1 | getValue:"id"}

${file1 | getValue:"contentType"}

${file1 | getValue:"keywords"}

Se tutti gli allegati alla feature sono immagini, utilizzare i seguenti segnaposto con ciascuno posizionato su una linea dedicata:

${#$attachment}
${$file}
${/}

Per restituire più immagini inviate alla stessa domanda in una risposta, utilizzare il nome della domanda immagine invece di $attachment:

${#image1}
${$file}
${/}

Questo metodo è utile per visualizzare immagini in ArcGIS Enterprise versioni precedenti alla 10.8.1, o per visualizzare immagini che sono state aggiunte ad una funzione al di fuori di Survey123. Il seguente esempio visualizza i nomi file di tutti gli allegati associati a una feature:

${#$attachment}
${$file|getValue:"name"}
${/}

Per visualizzare un'immagine mentre si è online, fornire il suo URL di origine con l'espressione src quando ci si riferisce alla parola chiave $image invece del nome di una domanda:

${$image |
src:"https://upload.wikimedia.org/wikipedia/commons/1/13/Esri_Headquarters%2C_Building_Q.jpg"
| size:400:0}

Domande mappa

Tutte le domande che utilizzano una mappa, inclusi geopoint, geotrace e geoshape, hanno metodi e parametri comuni che è possibile utilizzare per modificare la loro presentazione nei report.

Per impostazione predefinita, una mappa in un report utilizzerà la mappa web impostata per la domanda. Se la scala mappa è impostata su 0 o il parametro è omesso, la mappa scala è stabilita da feature nella mappa nel seguente modo:

  • Se c'è solo una feature punto sulla mappa, la scala della mappa corrisponde alla scala impostata per la domanda.
  • Se c'è solo una feature linea o poligono sulla mappa, la scala della mappa viene determinata dall'estensione della feature.
  • Se ci sono feature multiple sulla mappa, la scala è determinata dall'estensione di tutte le feature.

Le domande sulla mappa supportano l'impostazione dell'ID dell'elemento della mappa Web e della scala mappa come parametri facoltativi. Nel seguente esempio si utilizza una scala della mappa di 1:100.000:

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000}

Per tutte le domande sulla mappa, puoi utilizzare il metodo rotate per definire la rotazione in senso orario del nord rispetto alla vista. Accetta valori da 0 a 360.

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | rotate:90}

Se si lascia l'ID dell'elemento della Web Map come stringa vuota, viene usata la basemap predefinita per la domanda. Se si imposta la scala mappa a 0 o si omette il parametro, la mappa utilizza l'impostazione estensione predefinita per la domanda.

Il metodo mapExtent può essere utilizzato per impostare esplicitamente l'estensione di una mappa in un report. Nel seguente esempio, viene mostrata un'estensione mappa fissa di Tokyo:

${location | mapExtent:139.7:35.6:139.9:35.8:4326}

Le domande sulla mappa supportano anche l'espressione di dimensione disponibile per le domande sulle immagini. È possibile utilizzare questa espressione per controllare la risoluzione della mappa visualizzata nel report, come mostrato nell'esempio seguente:

${location | size:400:400}

È possibile utilizzare insieme le espressioni map, mapScale e size per fornire un ID mappa Web e una scala della mappa, nonché una risoluzione dell'immagine della mappa, come mostrato nell'esempio seguente:

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | size:400:400}

Nota:

Se stai impostando la dimensione di una mappa durante l'utilizzo di qualsiasi altro metodo di espressione, size deve essere posizionato per ultimo nell'espressione.

Per impostazione predefinita, una domanda mappa verrà visualizzata utilizzando un simbolo mappa predefinito, indipendentemente dalla simbologia impostata nel feature layer. È possibile utilizzare il metodo drawingInfo per estrarre e utilizzare le informazioni di disegno memorizzate in un feature layer specifico, inclusi il simbolo, l'etichetta e la trasparenza utilizzati. È possibile specificare queste informazioni dal layer corrente o da un feature layer specifico tramite un URL fornito.

${location | drawingInfo:"currentLayer"}

${location | drawingInfo:"https://.../FeatureServer/0"}

Se il rilevamento non contiene una domanda sulla mappa o si sta creando report per feature layer senza un rilevamento associato, la geometria di un record può comunque essere restituita utilizzando il segnaposto ${$shape}.

In una sezione di riepilogo, un'espressione per una domanda di mappa visualizza geometrie multiple nell'input della domanda. Se si desidera includere altre risposte per un report individuale, fornire un'espressione where con il tag !important. Per ulteriori informazioni consultare Sintassi aggiuntiva. L'espressione seguente visualizza tutte le geometrie nel layer dove il valore del campo stato è uguale a 'broken':

${location | where:"status='broken' !important" | map:"<itemID>" | size:400:300}

Nota:

Nell'esempio precedente la scala della mappa è omessa. Se si imposta la scala mappa a 0 o si omette il parametro e la mappa contiene vari record, la mappa utilizza l'impostazione estensione predefinita per la domanda.

È possibile impostare l'espressione where per essere un'affermazione sempre vera per assicurarsi che ogni geometria nel layer sia visualizzata:

${location | where:"1=1 !important"}

Questo può anche essere usato per visualizzare tutti i punti all'interno di una ripetizione:

${repeat1.repeatLocation | where:"inspectionId=123 !important" | size:400:300}

Il ${$shape} può anche essere usato per restituire più geometrie di mappe.

${$shape | where:"1=1 !important" | drawingInfo:"currentLayer" | size:400:300}

Geopunti

Per le domande con geopunti, si possono usare espressioni per visualizzare i valori di latitudine o longitudine della domanda, come segue:

${location | getValue:"x"}

${location | getValue:"y"}

Non è possibile visualizzare entrambi i valori con una sola espressione; se occorrono entrambi i valori si dovranno usare entrambe le espressioni.

Suggerimento:

È anche possibile visualizzare il valore di altitudine tramite un'espressione simile ma solo se il feature layer sottostante supporta valori z:

${location | getValue:"z"}

Per impostazione predefinita, i valori di latitudine, longitudine e altitudine restituiscono il valore originale fornito nella risposta all'indagine, senza troncatura. Poiché questi valori spesso sono molto più lunghi del necessario in un report, considerare l'utilizzo delle espressioni round o toFixed per arrotondare il valore a una cifra decimale specifica.

${location | getValue:"x" | round:3}

${location | getValue:"x" | toFixed:3}

Per impostazione predefinita, questi valori vengono emessi sullo stesso riferimento spaziale utilizzato dal feature layer del rilevamento. È possibile impostare un riferimento spaziale diverso come parametro aggiuntivo fornendo il relativo WKID:

${location | getValue:"x":4326}

Geotrace e geoshape

Per domande geotrace e geoshape, l'espressione getValue può essere utilizzata per visualizzare rispettivamente la lunghezza della riga o il perimetro del poligono:

${polyline1 | getValue:"length":"meters":"planar"}

Per domande geoshape, l'espressione getValue può anche essere utilizzata per visualizzare l'area del poligono:

${polygon1 | getValue:"area":"hectares":"geodesic"}

Le unità e il metodo di calcolo sono parametri opzionali. Le seguenti unità sono accettate per la lunghezza:

  • feet
  • kilometers
  • meters
  • miles
  • nautical-miles
  • yards

Le seguenti unità sono accettate per l’area:

  • acres
  • hectares
  • square-miles
  • square-kilometers
  • square-meters
  • square-feet
  • square-yards

In alternativa, è possibile utilizzare Costanti esriSRUnitType o Costanti esriSRUnit2Type supportate da ArcGIS REST API. Nella tua espressione, usa il codice numerico della costante senza virgolette, come segue:

${polyline1 | getValue:"length":109002:"geodesic"}

Se non è specificata alcuna unità, l'impostazione predefinita è kilometers per la lunghezza o square-kilometers per l'area.

Il metodo può essere geodesic o planar. Se non è specificato alcun metodo, per impostazione predefinita viene utilizzato geodesic.

Domande date, time e date-time

Per verificare che le domanda di tipo date e date-time vengano presentate in modo accurato in quanto a formattazione per la propria regione, è possibile usare un'espressione per formattare la domanda in modo che corrisponda alle impostazioni locali fornite. Il metodo locale deve essere posizionato all'inizio di un'espressione e il codice locale della lingua deve essere in minuscolo.

${datetime | locale:"pt-br"}

Nota:

Per informazioni sul codice locale di una lingua specifica, fare riferimento all'articolo su Wikipedia con l'elenco dei codici ISO 639-1. Tuttavia, occorre ricordare che non tutte le lingue sono supportate da Survey123.

Tutti i valori di data e data-ora in un feature layer sono memorizzati in tempo coordinato universale (UTC). Per impostazione predefinita, tutti i valori di data e data-ora restituiti in un report rientrano nello stesso fuso orario del browser Web che ha richiesto la generazione del report. È possibile utilizzare il metodo utcOffset per modificare la visualizzazione di tali valori in un report, affinché vengano adattati a un fuso orario specifico. La seguente espressione mostra la risposta a una domanda di data-ora con offset +1 ora da UTC:

${datetime | utcOffset:"+01:00"}

Il metodo utcOffset supporta i formati +01:00, +0100 e +01 e restituisce il medesimo risultato. Questo metodo può anche essere utilizzato per modificare la visualizzazione dell'ora di invio della risposta. Tenere presente che utcOffset non funziona con le domande di tipo ora.

Per le domande di tipo date and date-time, è possibile usare un'espressione per impostare il formato della data utilizzando i segnaposto DD, MM e YYYY rispettivamente per il giorno, il mese e l'anno. L'espressione che segue visualizza solo il giorno e il mese, omettendo l'anno:

${date | format:"DD/MM"}

È anche possibile formattare l'ora utilizzando HH, mm e SS come segnaposto per le ore, i minuti e i secondi rispettivamente. L'espressione che segue mostra il giorno, il mese, le ore e i minuti:

${datetime | format:"DD/MM HH:mm"}

Nota:

Il metodo format deve essere posizionato alla fine dell'espressione.

La seguente tabella elenca i segnaposto di data e ora più comuni:

SegnapostoDescrizione

YY

Le ultime due cifre dell'anno.

Esempio: 2023 verrà rappresentato come 23.

YYYY

Le quattro cifre dell'anno.

Esempio: 2023 verrà rappresentato come 2023.

M

Numero del mese compreso tra 1 e 12.

Esempio: gennaio verrà rappresentato come 1.

MM

Numero del mese a due cifre.

Esempio: gennaio verrà rappresentato come 01.

MMM

Mese in tre lettere.

Esempio: gennaio verrà rappresentato come Gen.

MMMM

Nome completo del mese

Esempio: gennaio verrà rappresentato come Gennaio.

D

Numero del giorno compreso tra 1 e 31.

Esempio: il primo giorno del mese viene rappresentato come 1.

DD

Numero del giorno a due cifre.

Esempio: il primo giorno del mese viene rappresentato come 01.

Do

Numero del giorno che include i suffissi ordinali.

Esempio: il primo giorno del mese viene rappresentato come 1mo.

H

Numero dell'ora in formato 24 ore.

Esempio: 11 di sera verrà rappresentato come 23.

HH

Numero dell'ora in formato 24 ore a due cifre.

Esempio: 2 di notte verrà rappresentato come 02.

h

Numero dell'ora in formato 12 ore.

Esempio: 11 di sera verrà rappresentato come 11.

hh

Numero dell'ora in formato 12 ore a due cifre.

Esempio: 2 di notte verrà rappresentato come 02.

m

Numero del minuto compreso tra 0 e 59.

Esempio: 8 minuti verrà rappresentato come 8.

mm

Numero del minuto a due cifre.

Esempio: 8 minuti verrà rappresentato come 08.

Z

Offset del fuso orario in due ore con separatore.

Esempi: -07:00, +13:00

ZZ

Offset del fuso orario in due ore senza separatore.

Esempi: -0700, +1300

x

Indicatore Unix in millisecondi.

Esempi: 21.00 del 4 maggio 2023 GMT verrà rappresentato come 1683234000000.

X

Indicatore ora Unix.

Esempi: 21.00 del 4 maggio 2023 GMT verrà rappresentato come 1683234000.

a

Notazione mattutina o pomeridiana in minuscolo.

Esempio: a.m. verrà rappresentato come am e p.m. verrà rappresentato come pm.

A

Notazione mattutina o pomeridiana in maiuscolo.

Esempio: a.m. verrà rappresentato come AM e p.m. verrà rappresentato come PM.

Scelta multipla

Se una domanda select one viene indicata da sola in un segnaposto, ad esempio ${select_one}, restituirà l'etichetta della scelta. Se si utilizza una domanda a selezione singola all'interno di un'espressione, oppure se la domanda utilizza una selezione esterna, una domanda a selezione singola restituirà il valore di un'opzione di scelta. Il seguente esempio utilizza di un valore di scelta, al posto di un'etichetta, per un'istruzione condizionale:

${if select_one=="choice1Value"}The user selected the first choice.${/}

Per visualizzare intenzionalmente il valore di una scelta al posto dell'etichetta, usare l'espressione getValue:

${select_one | getValue:""}

Per le domande a risposta singola e per quelle a risposta multipla è possibile usare un'espressione per inserire un segno di spunta accanto a un elemento selezionabile, che viene compilato in base alla risposta. L'espressione seguente mostra se l'opzione yes è stata selezionata per una domanda:

${select_one | checked:"yes"} Yes

Selezionare espressioni che supportano domande a scelta multipla per emettere il numero totale di scelte selezionate e per emettere una scelta selezionata specifica:

${select_multiple | countSelected}

${choiceQuestion1 | selectedAt:2}

Nota:

L'espressione selectedAt inizia a contare le opzioni selezionate da zero. Ciò significa che ${choiceQuestion1 | selectedAt:2} restituirà la terza opzione selezionata.

Seleziona le domande multiple ha anche un'espressione supportata per restituire tutti gli elementi di scelta selezionati come un elenco puntato, come segue:

${select_multiple | appearance:"bullets"}

Nota:

Se l'etichetta dell'elemento scelto contiene doppie virgolette, queste devono essere precedute da una barra rovesciata; in caso contrario, il rapporto non verrà stampato. Una barra rovesciata non è necessaria per le singole virgolette. come nell'esempio seguente:

${select_one | checked:"Service provided by \"Greg's Plumbing\""} Service provided by "Greg's Plumbing"

Ripetizioni

Per accedere alle domande in una ripetizione, aggiungere una sezione per le ripetizioni nel modello. Per una ripetizione denominata "defects", il segnaposto ${#defects} indica l'inizio della sezione della ripetizione, mentre ${/} ne indica la fine. I segnaposto associati a domande all'interno della ripetizione devono trovarsi tra i segnaposto di inizio e di fine della sezione della ripetizione.

Nota:

Per stampare il contenuto di una ripetizione all'interno di una tabella, assicurarsi che i tag iniziale e quello finale siano entrambi posizionati all'interno o all'esterno della tabella. Non è possibile generare un report se uno di questi tag si trova all'interno di una tabella, mentre l'altro è al di fuori di essa. Nella maggior parte dei casi, se un tag iniziale e un tag finale vengono inseriti in una tabella, il tag iniziale deve essere nella prima cella e il tag finale nell'ultima cella.

Per accedere alle domande all'interno di una ripetizione nidificata, posizionare i tag tra i tag per ogni layer di ripetizione sopra la sezione della ripetizione desiderata. come nell'esempio seguente:

${#repeat1}
${#repeat2}
${#repeat3}
${field1InRepeat3}, ${repeat2.field1}, ${repeat1.field1}, ${mainLayer.field1} 
${/}
${/}
${/}

Le espressioni dei report non possono leggere caratteri speciali, come i trattini, quando si fa riferimento ai nomi dei layer usando la sintassi ${layername}. Quando si fa riferimento a un layer che contiene un carattere speciale nel suo nome, utilizzare un carattere di sottolineatura al posto di caratteri speciali. In alternativa, è possibile fare riferimento al layer attraverso la parola chiave $layers e il nome del layer o l'ID del layer, ad esempio ${$layers["my layer name"]} o ${$layers[0]}. Questo può essere utile con i nomi dei layer duplicati.

Per fare riferimento a un campo nella vostra ripetizione che ha lo stesso nome della sua ripetizione madre, usate la sintassi del percorso completo che include sia il nome del campo che quello della ripetizione, per esempio, ${sharedName.sharedName}.

Per visualizzare l'indice di un record di ripetizione, utilizzare l'espressione getValue con la parola chiave riservata $feature. Questo esempio genererà 1 per il primo record in una ripetizione, 2 per il secondo, e così via:

${#defects}
${$feature | getValue: "position"}
${/}

Interrogazioni di report

Puoi usare le funzioni aggregate per produrre query dei valori nelle tue risposte stampate. Queste interrogazioni sono più adatte in una sezione di riepilogo, che viene visualizzata una sola volta in un report, indipendentemente dalla quantità di risposte stampate. Per ulteriori informazioni, consultare Interrogazioni di report.

Per limitare la stampa del report a un numero specifico di ripetizioni, anziché a ogni ripetizione associata alla risposta, utilizzare il metodo resultRecordCount per impostare un numero specifico di ripetizioni da stampare:

${#defects | resultRecordCount:20}...${/}

Puoi usare il metodo orderByFields per determinare l'ordine in cui le ripetizioni saranno stampate. Dichiarare un nome del campo, seguito da ASC o DESC, e le ripetizioni verranno stampate in base all'input di quel campo, rispettivamente in ordine crescente o decrescente:

${#defects | orderByFields:"state_name ASC, pop2000 DESC"}...${/}

Elementi di report condizionali

È possibile mostrare o nascondere elementi di un report in modo condizionale usando istruzioni di tipo if. L’istruzione if può essere usata digitando un’espressione nel segnaposto iniziale ${if expression}, in cui ${/} indica la fine del segmento condizionale. Di seguito, alcuni esempi di istruzioni di tipo if che possono essere usate per mostrare o nascondere parti del report:

  • ${if photo1} visualizza la sezione solo se alla domanda photo1 è stata data una risposta.
  • ${if integer1>0} visualizza la sezione solo se la risposta alla domanda integer1 è un numero positivo.
  • ${if ((geopoint1 | getValue:"y")>0)} visualizza la sezione solo se il GeoPoint si trova nell’emisfero settentrionale.
  • ${if multiple_choice1 | selected:"A"} visualizza la sezione solo se per la domanda a scelta multipla è stata selezionata l'opzione "A".
  • ${if (repeat1 | getValue:"count")>=3} visualizza la sezione solo se repeat1 contiene tre o più record.

Nell'esempio seguente, il testo nella seconda riga apparirà nel report solo se si seleziona high per la domanda a scelta singola delle priorità:

${if priority | selected:"high"}
High priority issues must be addressed within seven days.
${/}

Per controllare se una risposta contiene un valore per una domanda, usate solo una dichiarazione if che si riferisce direttamente al nome del campo senza altri operatori, per esempio, ${if photo1}. Questo formato garantisce che le stringhe vuote, i valori nulli e i valori indefiniti vengano considerati tutti come valori vuoti. Questo formato si applica a tipi di campo stringa, numero, data e allegato. Quando questo formato viene utilizzato con le ripetizioni, la sezione appare fintanto che c'è almeno un'istanza nella ripetizione.

Per utilizzare istruzioni condizionali per domande di tipo data e ora, eseguire i calcoli utilizzando l'ora Epoch (numero di millisecondi trascorsi dal 1° gennaio 1970). Ad esempio, ${if (date1|getValue:"") < 1602735375000} visualizza la sezione solo se il valore nel campo data è precedente al 14 ottobre 2020. Tenere presente che la sintassi del report non ha equivalenti delle funzioni today() o now() dell'XLSForm, perciò è impossibile comporre un'istruzione condizionale per orari relativi alla stampa del report.

Le istruzioni if supportano i seguenti operatori logici:

OperatoreDescrizione

||

True se una delle due istruzioni restituisce true

&&

True se entrambe le istruzioni date restituiscono true

!

True se l'istruzione non è true

==

True se i due valori dati sono uguali tra loro

!=

True se i due valori dati non sono uguali tra loro

>

Valuta se il primo valore è maggiore del secondo valore

>=

Valuta se il primo valore è maggiore o uguale al secondo valore

<

Valuta se il primo valore è minore del secondo valore

<=

Valuta se il primo valore è minore o uguale al secondo valore

Limitazioni

Esistono le seguenti limitazioni nell'uso dei modelli di report:

  • I filtri applicati alle ripetizioni nel sito Web di Survey123 non verranno applicati nei report. Le ripetizioni possono essere filtrate in un report solo utilizzando le espressioni.
  • La mappa non viene visualizzata nel report se la mappa utilizza una versione della mappa Web precedente a 2.0, rilasciata a luglio 2014.
  • La mappa non viene visualizzata nel report se il portale ArcGIS Enterprise non dispone di un certificato SSL valido.
  • La stampa di modelli di report non funziona con distribuzioni di ArcGIS Enterprise non destinate al pubblico. Un tentativo in tal senso comporta un errore getaddrinfo ENOTFOUND.
  • La stampa di modelli di report non funziona con distribuzioni di ArcGIS Enterprise che utilizzano Integrated Windows Authentication (IWA).
  • Può essere incluso un massimo di 2.000 record per richiesta di report.
  • Quando il sito Web Survey123 è installato nella tua infrastruttura, non è possibile utilizzare l'API creazione report. È possibile generare report solo quando si usa https://survey123.arcgis.com/.