Hi there,
I am using a pulldata calculation to pull the value "camera_model" from another, related layer. My related layer is a hosted table that I uploaded from an .xlsx file.
My pulldata calculation says, "when the value of 'tag_id' in the survey matches the value of 'Collar_ID' in the hosted table, grab the value of 'Camera_Model' from the hosted table":
camera_model1 = pulldata("@layer", "getValue", "attributes.Camera_Model", "https://services1.arcgis.com/...my_url.../0", concat('Collar_ID=', "'",${tag_id},"'"))
This is working fine when values are not blank, but when the field "Camera_Model" is empty, it returns the word "null" instead of just leaving the cell blank. This occurs only in the web app, where most of my users collect data, not the mobile app or Survey123 connect preview page.
This is an issue – for example, my field ${drop_code} has an input mask of 2 letters gets filled with “nu”, which is an allowable value for that field and could be mistaken for real data.
I've tried some post-processing, e.g.,
Field ${camera_model} = if(string-length(${camera_model1}) > 0, ${camera_model1}, '') or
if(${camera_model1} != null, ${camera_model1}, ''), but this seems to actually remove values from some fields that should be auto-filled!
I attached a reproducible example using a publicly available layer. Note - “Location” field is filled with null in webapp (but is filled with nothing in mobile app).
Note - I haven't gotten any answers here, so I've sent this question into support. I'll update this post as I get more information.