POST
|
Since the select_one question type does not support 'bind::type = int or decimal' at the moment and only returns a string value, currently a hidden or calculate question need to be added to convert the string to numeric values, if a following mathematical equation need to reference the select_one question. There's a method to directly reference the select_one question in a mathematical equation, using the 'number()' function. The 'number()' function converts string value to numeric value, and moreover, it returns the value '0' when the question being referenced is unanswered. My current finding is, the question (select_one or calculate) being referenced has to be a string field type, otherwise the 'number()' function will return an empty value if the referenced question has not been answered. This is confusing, if number('') = 0, why number(NaN) = NaN? Edit: Perhaps NaN is treated as Number in XML, and number() does not convert numeric value. But that still doesn't explain why number('') = 0. This method is very useful when we need to include answers of many non-required questions in a complex calculation, because the usual method (using a hidden question for conversion) not only creating many fields but also would return a NaN value (unanswered question) and fail the calculation - this can be solved by using a 'coalesce(${question},0)' statement by the way. My concern is, is there any pitfall or bug in this method and cause it not working? Especially when the select_one question is unanswered and returns an empty value. Any comment would be greatly appreciated. Ismael Chivite Jim Moore Ben Turrell Kind Regards, Sun
... View more
02-13-2020
05:57 PM
|
0
|
2
|
531
|
POST
|
Hello James, I also found a method to convert empty value to 0 if the question is empty. The idea is not set bind::esri:fieldType and bind::type for the select_one or calculate question so that the field type is string. Then use 'number(${previous_question})' to reference the answer in the following question. If ${previous_question} is an empty value, number(${previous_question}) will be 0. This method has been working fine but I would like to know if this is a proper method? Will any update in the future alter the behaviour of number(empty value) = 0 ? Thank you. Sun
... View more
02-12-2020
06:14 PM
|
0
|
2
|
1846
|
POST
|
Hi Michael, If you can include all forms into one single survey, then using 'relevant' will be the best option. The idea is to hide the irrelevant questions base on the selection of the 'Area' question. First add all questions into the survey, with your 'Area' question on top on all the other questions. For questions that link to the 'North' answer, add a sentence like 'selected(${area},'north')' to the 'relevant' field of these questions, and do the same for those link to the 'South' answer, using 'selected(${area},'south')'. But if your idea is to open another survey in the middle of a survey, the method I suggest is to use two apps: include your 'Area' question in the Collector, then open a Survey123 form from the Collector. Please see this page for more information: Integrate with other apps. This blog about relevant is very useful: The art of hiding. Cheers, Sun
... View more
02-09-2020
01:00 AM
|
2
|
1
|
728
|
POST
|
Hello Ismael, I've included the inputMask 'B9.99;-' for a decimal question, using the exact same way Hector described - just trying to replicate the issue. And I notice that leaving the question blank will not trigger the invalid warning when submitting the survey result. Does that mean this is no longer an issue and we can use inputMask for a decimal or integer question and do not need to make them 'text'? Because I am using an inputMask (9000) for my integer question to limit the number of digits, then I remember I saw this post years ago and it seems the behavior had changed. Cheers, Sun
... View more
02-03-2020
11:06 PM
|
0
|
0
|
1870
|
POST
|
Hello Jim, I think you can create a new survey in Survey123 Connect using the Image-map sample. You will be able to find the svg files in the media folder. Cheers, Sun
... View more
02-03-2020
03:52 PM
|
2
|
1
|
796
|
POST
|
Hi David, In addition to Doug's comment, an alternative would be using 'number(${question})' to convert the string to numeric value. And you don't need to set the bind:type column to int, just leave it as it is. So something like this: number(${surrounding_area}) + number(${throat}) + number(${grate}) ... I was using the method (setting bind:type column to int) before and found that if the question is an optional question and user did not answer the question, it will return an empty value (NaN). The following calculation would fail if there's an empty value (NaN) in the calculation. However, if the question type hasn't been set to int or decimal (i.e. leave it as it is), the empty value that it will return is an empty string. number(${question}) will read the empty string as 0 so it will have no impact on the calculation. Please see the 'Empty values' section for more information: Formulas—Survey123 for ArcGIS | Documentation My recommendation is, if there's no optional question, use Doug's method, otherwise you can consider using the method I described. Cheers, Sun
... View more
01-29-2020
04:33 PM
|
0
|
1
|
518
|
POST
|
Hello, I think I read it somewhere that iOS is less tolerant to the letter case, meaning a file 'Example.csv' must be referenced as 'Example.csv' in the survey form instead of 'example.csv'. My recommendation is to check the file name as well as the column names in the csv file. I personally used all lowercase in both .csv file and survey form to avoid confusion.
... View more
01-29-2020
03:59 PM
|
0
|
4
|
1321
|
POST
|
Hi Branden, Try create a new survey from the existing .xlsx file. This will force Survey123 Connect regenerate a new folder for it which should contain the 'media' folder. Cheers, Sun
... View more
01-21-2020
10:51 PM
|
0
|
0
|
440
|
POST
|
Hi Chirag, I am confused because you were saying 'unhide' the question, because to 'unhide' a hidden question you need to change the question type to something else, say 'note' question type. Please forget about changing the question type in my earlier reply, because adjusting your hidden question might solve the problem. So I think you are referring to a question like this: This should work as long as the 'calculation' field has noting in it. What it returns is the string 'default value'. From your description I guess your actual hidden question looks like this: This time it will return the sting '${question_1}' instead of the answer of question_1. What you can do is to put the '${question_1}' in calculation instead, this way it will return the answer of question_1. What wouldn't work is the scenario below, the hidden question will respect the calculation field instead of the default field. If this is what you are trying to achieve, I would suggest using if statement in the calculation instead. It would be great if you can share a screenshot of the question. Cheers, Sun
... View more
12-13-2019
12:59 AM
|
2
|
1
|
839
|
POST
|
Hi Jim, I had the same issue and what I've done was to convert the texts to graphics so that all fonts and formatting are locked. In Adobe Illustrator, select the texts and click [Type] > [Create Outlines] (Shift + Ctrl + O). I am sure the other open source programs also have a similar workflow. The idea is to convert text to graphic, so make sure saving a copy for future editing before converting the text. Cheers, Sun
... View more
12-12-2019
11:42 PM
|
0
|
0
|
1175
|
POST
|
Hi Chirag, Instead of using Hidden question type, you can use Calculate question type. This question type is also hidden and works just like a Hidden question type. Cheers, Sun
... View more
12-12-2019
11:16 PM
|
0
|
3
|
839
|
POST
|
Hello James, Thank you for your helpful information! Cheers, Sun
... View more
10-27-2019
05:03 PM
|
0
|
0
|
5168
|
POST
|
Hello James, When populating answer of a select_one question (Q2) based on answer of a previous question (Q1), a 'recalculate' button appears for Q2 when user select an option in Q1 except one that used to populate Q2. In the example below, Q2 has this statement in the calculation: if(selected(${question1},'option1'),'option1',''), and Q3 is using pulldata() to achieve the same functionality, they both work for my intention. i.e. Select option 1 in Q1, then Q2 and Q3 will have option 1 selected automatically. Bur if I select option 2 in Q1, the 'recalculate' buttons appears for Q2 and Q3 no matter what I select. Am I doing something wrong or will I be able to disable those buttons in the setting? Many thanks. Cheers, Sun
... View more
10-25-2019
02:19 AM
|
0
|
2
|
5168
|
POST
|
Hello Pamela, [itemsets.csv] is generated by Survey123 for storing values in the external_choices tab. Reference: Cascading and external selects External selects The choice lists associated with cascading selects can become large and impact the performance of your forms. Survey123 has an option to save these lists in an external file and load them into the survey on demand. To implement this option, create a tab on the spreadsheet for your survey named external_choices. This new tab should contain the same column headings as the choices tab. When the survey is published, values from the external_choices tab will be saved in a file called itemsets.csv in the media folder of your survey project, rather than as part of the form item. To reference the choice lists on the external_choices tab, use select_one_external to prefix the list name. Cheers, Sun
... View more
10-24-2019
04:31 PM
|
2
|
2
|
660
|
POST
|
Hello Adam, From my experience, those additional codes don't really matter. Besides, they are also part of the svg image. My finding is that Survey123 only reads named path. Therefore, only name the clickable path, and delete the names of the other paths (that you want to be displayed but don't want user to click on). And so far, I consider Adobe Illustrator as the best tool for creating svg images for used in Survey123. I have tested the Inkscape and Affinity Designer, they are great tools for image creation, but Survey123 might have troubles reading the svg images produced from these programs. Cheers, Sun
... View more
10-20-2019
11:23 PM
|
0
|
1
|
3108
|
Title | Kudos | Posted |
---|---|---|
2 | 07-09-2020 11:49 PM | |
1 | 11-18-2021 07:51 PM | |
1 | 11-15-2021 12:21 AM | |
1 | 11-15-2021 04:45 AM | |
1 | 02-12-2021 05:51 AM |
Online Status |
Offline
|
Date Last Visited |
01-02-2022
07:58 PM
|