Slider and Math operations question | XM Community
Solved

Slider and Math operations question

  • 24 November 2018
  • 2 replies
  • 28 views

Badge +2
I am using a slider for whole values from 0 - 3 but don't know how to make sure that the choice of '0' (the starting point) is an actual choice and not just the user skipping the question. I 'solved' it by making the slider go from -1 to 3 and forcing a response. Not ideal.

I then want to use Math Operations (or javascript if needed) to calculate simple sums from the answers. However, regardless of what I try, I am unable to extract the numbers 0 - 3 from the user's answers.

This doesn't work:

```D = $e{ (q://QID13/SelectedAnswerRecode/1 + q://QID13/SelectedAnswerRecode/2 + q://QID13/SelectedAnswerRecode/4 + q://QID16/SelectedAnswerRecode/1 + q://QID16/SelectedAnswerRecode/2 + q://QID16/SelectedAnswerRecode/3 + q://QID16/SelectedAnswerRecode/4 + q://QID15/SelectedAnswerRecode/1 + q://QID15/SelectedAnswerRecode/2 + q://QID15/SelectedAnswerRecode/4 + q://QID15/SelectedAnswerRecode/5 + q://QID12/SelectedAnswerRecode/3 + q://QID12/SelectedAnswerRecode/4 + q://QID12/SelectedAnswerRecode/5) * 2 }```

This yields the numbers as strings and creates an output of "1 + 3 + 0 + 1..."

```${q://QID13/ChoiceNumericEntryValue/1} + ${q://QID13/ChoiceNumericEntryValue/3} + ${q://QID13/ChoiceNumericEntryValue/5} + ${q://QID16/ChoiceNumericEntryValue/1} + ${q://QID16/ChoiceNumericEntryValue/3} + ${q://QID16/ChoiceNumericEntryValue/5} + ${q://QID15/ChoiceNumericEntryValue/1} + ${q://QID15/ChoiceNumericEntryValue/2} + ${q://QID15/ChoiceNumericEntryValue/3} + ${q://QID15/ChoiceNumericEntryValue/4} + ${q://QID12/ChoiceNumericEntryValue/1} + ${q://QID12/ChoiceNumericEntryValue/2} + ${q://QID12/ChoiceNumericEntryValue/3} + ${q://QID12/ChoiceNumericEntryValue/6}```

It comes back with invalid calculation and when I use javascript, it comes back as NaN (not a number).

I suspect it has to do with my choice of a starting point of -1 but I don't know.
icon

Best answer by TomG 24 November 2018, 13:49

View original

2 replies

Userlevel 7
Badge +27
For a math operation, you need to add a space after ( and before ). You also need to pipe the correct values, which I believe is ChoiceNumericEntryValue instead of SelectedAnswerRecode.
```
$e{ ( (q://QID13/ChoiceNumericEntryValue/1 + ... + q://QID12/ChoiceNumericEntryValue/5 ) * 2 }
```
For JS, you need to convert the strings to numbers:
```
parseInt("${q://QID13/ChoiceNumericEntryValue/1}") + etc.
```
Badge +2
Thank you, Tom. With the Math operations it was the closing bracket ) that did not have a space before it ... The javascript now works.

Leave a Reply