Select to view content in your preferred language

Pull Data - Integer field fails?

1545
2
Jump to solution
04-11-2017 07:51 PM
JohnPlunkett
Esri Contributor

Hi there

Working with Survey Connect we are using the PullData function

Formulas—Survey123 for ArcGIS | ArcGIS 

I came across a case where they had integer as the type

It failed in the App

When we changed it to text it worked

Here is my csv

Essentially it looks like to make PullData work the type needs to be set to text - irrespective of what is in the CSV file.

Is this a known issue?

Thanks

John

0 Kudos
1 Solution

Accepted Solutions
JamesTedrick
Esri Esteemed Contributor

Hi John,

Survey123 initially reads all of the values of a CSV file as text, so the comparison operation must use a text representation.  If there are only a few questions using pulldata, it's probably easiest to use the string() function to convert the type of data inside the pulldata function - pulldata('FishCalc', 'a', string('code'), ${species}).

If you want to go the route of the text question and need to enforce a numeric type answer, a couple of options are present with a text box:

1) you can enforce a constraint or Input mask to have number-only values; see http://docdev.arcgis.com/en/survey123/desktop/create-surveys/xlsformformulas.htm#ESRI_SECTION1_8979C... and http://docdev.arcgis.com/en/survey123/desktop/create-surveys/esricustomcolumns.htm#ESRI_SECTION1_2D9...  

2) You can give the text box an appearance of type `numbers` to display a numeric pad with the question - Appearance—Survey123 for ArcGIS | ArcGIS (it's listed in the integer section but also works with text questions)

3) If the value submitted must be an integer, you can set that with bin:Esri:fieldType column (see http://docdev.arcgis.com/en/survey123/desktop/create-surveys/esricustomcolumns.htm )

View solution in original post

2 Replies
JamesTedrick
Esri Esteemed Contributor

Hi John,

Survey123 initially reads all of the values of a CSV file as text, so the comparison operation must use a text representation.  If there are only a few questions using pulldata, it's probably easiest to use the string() function to convert the type of data inside the pulldata function - pulldata('FishCalc', 'a', string('code'), ${species}).

If you want to go the route of the text question and need to enforce a numeric type answer, a couple of options are present with a text box:

1) you can enforce a constraint or Input mask to have number-only values; see http://docdev.arcgis.com/en/survey123/desktop/create-surveys/xlsformformulas.htm#ESRI_SECTION1_8979C... and http://docdev.arcgis.com/en/survey123/desktop/create-surveys/esricustomcolumns.htm#ESRI_SECTION1_2D9...  

2) You can give the text box an appearance of type `numbers` to display a numeric pad with the question - Appearance—Survey123 for ArcGIS | ArcGIS (it's listed in the integer section but also works with text questions)

3) If the value submitted must be an integer, you can set that with bin:Esri:fieldType column (see http://docdev.arcgis.com/en/survey123/desktop/create-surveys/esricustomcolumns.htm )

CarolineChanEEC
New Contributor II

I'm having somewhat the opposite problem. I'm using pulldata from a csv file. It had been working perfectly for about a month, but now the values that are integer in the csv file but text in the xlsform are acting wonky. They'll disappear when you scroll down, and when you try to overtype it looks like they're still there, but after submitting, they are blank in the feature class.

From this:

CarolineChanEEC_0-1687367022501.png

all variables are initially pulled in, but then the ai and zip variables disappear as you scroll down. The behavior isn't 100% consistent, as sometimes it will go through.

Any ideas?

 

Tags (3)
0 Kudos