Scientific and Common Names selection via dropdown menu

12-03-2020 09:00 PM
New Contributor

Hi All,

Hoping someone can help me with a problem I am having in Survey123.

I am trying to generate a form for new plantings and would like to offer both Scientific spp. and the Common Name as a selection option. Both menus operate together, but independently as you only chooser one and the other will populate. I have used pulldata to import a CSV, but am coming up blank when I try to enable both of them.

I guess I have two questions;

1. Is this possible in Survey123 (I am sure it is)

2. What is the extra language needed to achieve this.

Many thanks in advance, it's been a long week.



0 Kudos
3 Replies
New Contributor II

Hi Chris. We do this by first having a couple of filtering questions. The user has to select a taxa group ( plant, animal, or community) and then whether they want scientific or common names. Then, depending on the combination of answers, different species are offered in the drop down. I think what you want to do is this same scenario minus the plant/animal/community questions. Below is how we achieve our filtered drop-down lists. You could modify this process to fit your needs:

1) ${search_by} question - type: select_one search_by; name: search_by; populated with values in the choices tab: list_name = search_by; name = S, C; label = Scientific Name, Common Name

2) ${taxa_group} question - type: select_one taxa_group; name: taxa_group; populated with values in the choices tab: list_name = search_by; name = A, P, C; label = Animal, Plant, Community

2) ${scientific} question - type: select_one_external scientific; name: scientific; relevant: ${search_by}='scientific'; choice_filter: values=${taxa_group}

3) ${common} question - type: select_one_external common'; name: common; relevant: ${search_by}='common'; choice_filter: values=${taxa_group}

Then, in the external choices tab, we have the full scientific names list followed by the full common names list (so each species essentially is in there twice, once with the scientific name and once with the common name). In the first column, there is either scientific or common, the second column houses what you want to appear in the resulting database (in our case, this is an ID number associated with each species), in the third column, there is what you want to show in the list (the scientific or common name), and in the fourth column, we have A, P, or C limiting the drop-downs to only showing the scientific or common names for just animals, just plants, or just communities. I attached a screenshot of our external choices sheet as an example.

We also show the other name, which might be what you're actually getting at. To do this, we have an additional four questions: first we calculate the common name from the scientific name using a pulldata() and then we print a note of what that name is. The process is repeated for getting the scientific name from the common name. Here is that process:

1) ${scientific_name} question: type: calculate, name: scientific_name; calculation: pulldata('<csv_name>', '<scientific name column>', '<column to use to lookup return value>', ${<variable to use to match the lookup value to - in our case this is the ID number associated with the species>})

2) no name question: type: note, name: (blank), label: Scientific Name; calculation: ${scientific_name}

3) and 4) the same thing but switch scientific and common.

The second screenshot shows what this looks like in the app. The search filters are on the top, and the opposite name is shown below (in this example, scientific was selected, so the common shows below).

I hope this helps.

0 Kudos
Esri Notable Contributor

Hi. Do you want something like this?



If so, here is the XLSForm.

Some tips:

  • You may want to set the esriFieldType column to null for the common and scientific lists questions.
  • You also may want to set the appearance on the tree_selected question to hidden
  • If you want to work with a very long list of species, it is strongly recommended you use the select_one_from_file question type as described in the external choice list section of this help topic:


0 Kudos
MVP Esteemed Contributor

What I did is have the label be PlantCode [spaces] ScientificName [spaces] Common name.  Then set the name to just the plant code.


That way a user can search on anything they may know all in one box.  For example they know it is a fir but forget the exact just type in fir.


Works great.  Hope that helps.

0 Kudos