Hello,
I have configured a Field Maps popup that opens a Survey123 form and populates the globalid from Field Maps to a field in the Survey123 form. Popup URL:
arcgis-survey123://?itemID=e4012bc59ca1407a8712a65862aa1454&field:incoming={globalid}
I found a post in the community that described the need to remove the curly brackets when passing the globalid to the Survey123 form in order to join the Field Maps feature data to the Survey123 form data on the backend (cannot find the post now). I use the following calculation in the Survey123 form to remove the curly brackets and populate the field FEATURE_ID with the globalid, sans curly brackets.
if(regex(${incoming}, '^\{[\w\-]*\}$'), substr(${incoming},1, string-length(${incoming}) - 1), ${incoming})
On the backend I wish to join the Field Maps feature data using globalid with the Survey123 form data FEATURE_ID, but when I go to join the two fields, the Field Maps feature data globalid has curly brackets and FEATURE_ID does not, so the two fields will not join. The workaround I am using now is, I created a new field in the Field Maps feature data, named feature_id and run the field calculator replace function to remove the curly brackets from the globalid field and populate the feature_id field. I can then join the Survey123 FEATURE_ID to the Field Maps feature_Id.
Obviously this is not ideal from an efficiency perspective as I have to remove the join and recalculate whenever there is new data collected. It would ideal to create a static join, so in the AGOL Webmap and/or ArcPro so when the map is opened the updated data is displayed. How would I accomplish this? Do you have to remove the curly brackets from both datasets in order to join the two? Is there another way to join the two datasets rather than using globalid?
Any help greatly appreciated!