What does "no answer" setting really do?

More
5 years 3 months ago #76483 by Fred01
Fred01 created the topic: What does "no answer" setting really do?
There is an option at the global level and survey level to force a "No answer" option on choice questions.

Here's how the manual describes it:

Show 'no answer' option for non-mandatory questions: When a question of a radio button/select type that contains editable answers (i.e.: List & array questions) is not mandatory and this is set to 'Yes' (default), an additional entry 'No answer' is shown for each subquestion - so that participants may choose to not answer the question. Some people prefer this not to be available. Set this to 'No' to turn this off.


But while it does seem to make a "No Answer" choice appear in the survey presentation, it doesn't actually save anything to the database. So what is the point of this feature? Am I missing something?

We would like to be able to distinguish between a "no answer" (question was posed but not answered) and a "non relevant" (question was never posed), but it seems like Limesurvey records a null for both cases.

Please Log in to join the conversation.

More
5 years 3 months ago #76484 by TMSWhite
TMSWhite replied the topic: What does "no answer" setting really do?
Fred-

Not-relevant always stores NULL in the database. No-Answer should always store an empty (zero-length) string in the database.

/Tom

Please Log in to join the conversation.

More
5 years 3 months ago #76485 by Fred01
Fred01 replied the topic: What does "no answer" setting really do?
Ah ha, now I see. This seems to work for choice questions (i.e., list), multi-choice, or text questions, but I noticed that on Numeric input questions, when the question IS relevant but not answered it is inserting a NULL. Is that a bug? Or a feature? :)

Also, it still seems as though on a choice/list question, it still doesn't matter whether you had the "no answer" setting enabled or not. In either case, assuming the question is relevant, it inserts a zero-length string. So it's just a cosmetic feature for the display? Or am I missing something.

Please Log in to join the conversation.

More
5 years 3 months ago #76486 by TMSWhite
TMSWhite replied the topic: What does "no answer" setting really do?
Fred-

I tested to confirm that NULL was always entered when questions were irrelevant, but never tested that relevant, unanswered questions would be blank. So, if you're seeing any cases like that one you describe, that's a bug - please open a bug ticket.

Also, if you don't explicitly click "No Answer", it will still record a blank in the database, so unanswered is the same as "No Answer". Often, the "No Answer" option starts in the checked state to indicate that behavior.

/Tom

Please Log in to join the conversation.

More
5 years 3 months ago #76489 by Fred01
Fred01 replied the topic: What does "no answer" setting really do?
Ok I will test a little more and if necessary open a bug on the numeric problem. Thanks

Please Log in to join the conversation.

More
5 years 3 months ago #76492 by Fred01
Fred01 replied the topic: What does "no answer" setting really do?

Please Log in to join the conversation.

More
5 years 3 months ago - 5 years 3 months ago #77180 by Fred01
Fred01 replied the topic: What does "no answer" setting really do?
Hi Tom,

Something else I've noticed in 1.92 is that Equation questions also behave oddly in terms of this empty vs. null issue.

As you probably recall, we found that non-responses to relevant text or choice questions are recorded as EMPTY, while non-relevant questions are recorded as NULL.

Equation questions use a TEXT fieldtype in the survey_NNN table rather than a numeric, presumably so that they can also be used for non-numeric expressions.

Now suppose you have the following questions, all of which are relevant...

.width: How many meters wide is your room? (numeric)
.length: How many meters long is your room? (numeric)
.area: Room area (equation) (width * length)

Now if the user leaves .width, .length, or both empty then I would expect .area to also be empty. However it puts a zero in the field, which is the last thing we would want since it looks like a valid number (at least in some contexts) but really isn't.

A workaround is to put relevance equation on .area to ignore if either .width or .area are missing.

However, this is suboptimal, or at least perhaps should be documented.
Last Edit: 5 years 3 months ago by Fred01. Reason: clarity

Please Log in to join the conversation.

More
4 years 6 months ago #89606 by totem_logic
totem_logic replied the topic: What does "no answer" setting really do?
I am trying to follow the conditions of this behavior as described in previous posts. I am not quite clear on which is the expected result.

I have a number of 5 point choice questions which can be skipped (non-mandatory).

Type: 5 point choice
Mandatory: No

In all cases where there is no answer, LS stores a blank value and not a NULL value. I expected no response to have a NULL value.

The blank values are being converted to 0 by the MySQL AVG() function and are negatively skewing the results.

Please confirm the expected value of the non-response to a non-mandatory 5 point choice. Thanks!

Please Log in to join the conversation.

More
4 years 6 months ago #89663 by Fred01
Fred01 replied the topic: What does "no answer" setting really do?
What you are describing sounds like what I see.

A 5-pt choice is a choice (not a numeric) question. It stores the responses in a varchar field.

If the question is relevant (ie, was shown to the user, and not hidden by a condition/expression), then a "no answer" is recorded as a zero-length string ("empty").

If the question WAS not relevant (not shown to the participant because of a condition/expression), then it will put a NULL in the field.

Limesurvey stats module does a frequency distribution and a mean calculation for 5-pt choices. Apparently they are ignoring the no-responses when they calculate the mean. Maybe you could do the same in your avg query?

Please Log in to join the conversation.

More
4 years 6 months ago #89710 by DenisChenu
DenisChenu replied the topic: What does "no answer" setting really do?

totem_logic wrote: The blank values are being converted to 0 by the MySQL AVG() function and are negatively skewing the results.

Maybe the best is to put a bug report if you can do a litlle lss files for example (maybe with response (lsa files)

We can remove '' or NULL answer for the AVG() for stats.

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in to join the conversation.

More
4 years 6 months ago #89723 by totem_logic
totem_logic replied the topic: What does "no answer" setting really do?
I am running the avg straight through mysql via my own script from my CMS.

What I think I will do is create a maintenance script to run periodically and replace empty values with NULL values.

Any way to trigger my third-party script once a new survey entry has been saved (like a post-process script)? I don't recall any such feature, but I also haven't gone under the hood in a while.

Thanks!

Please Log in to join the conversation.

More
4 years 6 months ago #89738 by DenisChenu
DenisChenu replied the topic: What does "no answer" setting really do?

totem_logic wrote: Any way to trigger my third-party script once a new survey entry has been saved (like a post-process script)? I don't recall any such feature, but I also haven't gone under the hood in a while.

LS included : use End URL and Automatically load URL when survey complete?
LS not included: jQuery.ajax

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in to join the conversation.

More
4 years 6 months ago #89759 by totem_logic
totem_logic replied the topic: What does "no answer" setting really do?
Thanks everyone! I appreciate the support this time. Cheers!

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now