It would be better to use the pulldata() function using a csv file to set this up. Here is something that we use in order to Pull all of our project detail information while using the Survey123 form within the field.
You can see from the field form we have 5 fields that are populated by one question being answered.
As you can see the makeup of the pulldata() uses the name of the csv, the column header from the csv that your data you are attempting to pull, then the Question from the form that it is looking for data entry to be made, and then it is pulling the answer to the question and using it to cross-reference the csv file.
Here is the csv file structure that is used to pull data from the csv file into the question above.
In your instance it would replace the following within this function - pulldata('ProjectInfo','ProjectName','ProjectNumber',${ProjectNumber})
'ProjectInfo' would be equal to your "Asset.csv" file that contains all the answers for question "asset" additional data for the 'asset_id' and 'asset_type' columns.
'ProjectName' would be equal to the "asset_id" answer from the csv file; in this case 'asset_id'.
'ProjectNumber' would be equal to the "asset" question" name from your form; in this case let's use "asset"
${ProjectNumber} would be equal to the "asset" question answer that would be found within the csv file.
S0, your CSV file would look like this and contain all possible assets with their corresponding asset_id and asset_type values and you need to save into the Media folder of your main survey folder.
IT took me a few tries, but once, you get it...it opens up a lot of doors for pre-filling of survey forms
Good Luck,
Mike