Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Conditional branching; rapid prototyping

  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 years 7 months ago #111311 by DenisChenu
Replied by DenisChenu on topic Conditional branching; rapid prototyping
A quick tip for Expression Manager:
- Use the condition editor (with the AND )
- Save , copy the expression on the question quick view
- Remove all condition
- Paste the condition with the AND
- Replace AND by OR

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 , plugin development .
I don't answer to private message.
The following user(s) said Thank You: dglp
The topic has been locked.
More
9 years 6 months ago - 9 years 6 months ago #111834 by dglp
Replied by dglp on topic Conditional branching; rapid prototyping
testing... preview mode not working?

Aside from that, I'm trying to figure out the relevance expression syntax.

I can't figure it out by reading the manual.

I'd like to know if I can use things like QID and GID in the expression.

In an example like ((TopicList == "G01") AND (QID 619 == "A01")) I cannot figure out whether there's a valid way of using QID 619.

Have tried various ways of bracketing, quoting, and so forth with no success.
Last edit: 9 years 6 months ago by dglp.
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 years 6 months ago #111835 by holch
Replied by holch on topic Conditional branching; rapid prototyping
From what I know, you should use the question code or group code instead the SGQA code. However, reading here manual.limesurvey.org/Expression_Manager#Key_Definitions it seems like the SGQA could still be used.

But I am not quite sure what you are trying, because it looks like you check if a question code equal to it's QID and the same for the group. This doesn't make much sense to me...

Read through manual.limesurvey.org/Expression_Manager which helps quite good to understand how the EM works. If you would like to reference to the Question ID instead of the question code (that you can define yourself), then you must follow the rules of the SGQA code. You can't just reference the QID directly.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The following user(s) said Thank You: dglp
The topic has been locked.
More
9 years 6 months ago - 9 years 6 months ago #111836 by dglp
Replied by dglp on topic Conditional branching; rapid prototyping
Thank you holch.

I have having a lot of difficulty understanding the explanations of expression manager in the manual - so I am asking here.

Your link to SGQA code gives a 404 error.

It sounds like you answer my question in the final line: cannot reference QID directly.

In that case, I'm not able to figure out what else - if anything - can be referenced directly.

I see that some Names[ID] can be referenced, but is that the only thing?
Last edit: 9 years 6 months ago by dglp.
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 years 6 months ago #111837 by holch
Replied by holch on topic Conditional branching; rapid prototyping
On the Expression Manager manual page there is an example of the SGQA code. It is quite simple.
S = Survey (Refers to the survey id)
G = Group (Refers to the group id)
Q = Question (refers to the question id)
A = Answer (refers to the answer id)

Here the manual page for the SGQA identifier: manual.limesurvey.org/SGQA_identifier

Often it helps to search with "limesurvey xxxxx" in Google, which seems to work better than the actual search in the manual.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 years 6 months ago #111838 by holch
Replied by holch on topic Conditional branching; rapid prototyping
On the Expression Manager manual page there is an example of the SGQA code. It is quite simple.
S = Survey (Refers to the survey id)
G = Group (Refers to the group id)
Q = Question (refers to the question id)
A = Answer (refers to the answer id)

Here the manual page for the SGQA identifier: manual.limesurvey.org/SGQA_identifier

Often it helps to search with "limesurvey xxxxx" in Google, which seems to work better than the actual search in the manual.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The following user(s) said Thank You: dglp
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 years 6 months ago #111839 by holch
Replied by holch on topic Conditional branching; rapid prototyping
Try also to understand the examples on the Expression Manager page. You can learn a lot from them and how Expression manager works.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
More
9 years 6 months ago - 9 years 6 months ago #111840 by dglp
Replied by dglp on topic Conditional branching; rapid prototyping
I am finding the information on that page too complex (and in the manual generally). The examples on relevance relate more to inserting previous answers than to the mechanics of writing a simple instruction to branch.

I am unable to evaluate the correctness of an expression, and don't see all the rules about syntax. So I'm just guessing at it again and again until something changes.

Whilst it's clear there are many powerful tools to aid development, there is a steep learning curve/high bar to understanding their proper use. There are many ways to misunderstand the information!
Last edit: 9 years 6 months ago by dglp.
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 years 6 months ago #111841 by holch
Replied by holch on topic Conditional branching; rapid prototyping
Definitely, Expression Manager is very complex and thus it is not learned in 5 minutes. This is advanced survey development, which will also require a little advanced learning and some time investment. There are also more pages.

However, it is impossible to explain the basics of EM in the forum. Here we can only help on specific problems and questions.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
More
9 years 6 months ago - 9 years 6 months ago #111842 by dglp
Replied by dglp on topic Conditional branching; rapid prototyping
Okay.
I appreciate the limitations of the forum.

So far I have put in about 120 hours over 6 weeks trying to figure out how Lime Survey works.
Some of that development has been straightforward to figure out. Other bits not so much. I am hoping another week will get me to a point where I can activate a 30-question survey.
Last edit: 9 years 6 months ago by dglp.
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 years 6 months ago #111844 by holch
Replied by holch on topic Conditional branching; rapid prototyping
120h is quite a bit, you must have quite a complicated survey.

We always try to help, but it is always better to have a specific problem. I don't really understand your problem described above.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The following user(s) said Thank You: dglp
The topic has been locked.
More
9 years 6 months ago #111851 by dglp
Replied by dglp on topic Conditional branching; rapid prototyping
It's not a complicated survey - it's probably about as simple as they come. Probably too simple to have considered as an example in the manual. It's just a bunch of forward jumps. But it's laborious typing it out in order to test the expressions. So I've spent about 90 of those hours just monkeying with the coding.

The expression example I put up earlier was meant to describe a jump from either of two answers, in the form of ((Question1 AND Answer 1) OR (Question 3 AND Answer 1)). The survey looks like it will have 3 or 4 extraordinarily long expressions of this sort, where any of over 20 questions will jump to the same point later in the survey. I expect it to look like ((Question1 AND Answer 1) OR (Question 3 AND Answer 1) OR (Question 7 AND Answer 1) OR ... (Question 19 AND Answer 1) OR (Question 25 AND Answer 1)).

But I have given my questions the same variable names as the question groups they are in. This may be why some of the jumps fail. Group 1 is called Access, Question 1 is also called Access. When I named them I did not understand the limitation about naming variables for use by expression manager. I still don't know anything beyond that one fact.

So I need to go back and rename all of the questions. Or find some other way of specifying the target in EM.

So I asked if I could use another identifier like QID. That didn't work, so I will go back and rename the questions. THen see if there are other jump failures from as-yet-unknown reasons.
The topic has been locked.

Lime-years ahead

Online-surveys for every purse and purpose