Have an idea?

Visit Sawtooth Software Feedback to share your ideas on how we can improve our products.

How to random block by number

Dear All,

QA. grid-number Row1, Row2, Row3, Row4 and Row 5

Q1. grid-number Row1, Row2, Row3
Q1a. select question
Q1b. select question
Q1c. select question

Q2 grid-number Row1, Row2, Row3
Q2a. select question
Q2b. select question
Q2c. select question

Q3 grid-number Row1, Row2, Row3
Q3a. select question
Q3b. select question
Q3c. select question

Q4 grid-number Row1, Row2, Row3
Q4a. select question
Q4b. select question
Q4c. select question

Q5 grid-number Row1, Row2, Row3
Q5a. select question
Q5b. select question
Q5c. select question

Condition1:
We random Q1 to Q5 base on score in QA (From Big to small).

Condition2:
We random Q1a to Q1c base on score in Q1 (From Big to small).
We random Q2a to Q2c base on score in Q2 (From Big to small).
We random Q3a to Q3c base on score in Q3 (From Big to small).
We random Q4a to Q4c base on score in Q4 (From Big to small).
We random Q5a to Q5c base on score in Q5 (From Big to small).

Is it possible? Please help to fix and give the detail how to make?

Thanks
asked Nov 4, 2019 by Saroeun Bronze (1,945 points)
All please help, do you have any solution?
Saroeun,

The difficulty I've had with solving this comes from not being able to overlap randomized blocks in Lighthouse Studio.  So I can use randomized blocks on the condition 1 sorting or on the condition 2 sorting, but not on both.

Shot in the dark, but would it be possible for the condition 2 questions to all appear on the same page?  So Q3 could still be on its own page, but Q3a, Q3b, and Q3c would be on the same page.  We could potentially get tricky with our CSS and JS and try to make it look like they're still on three different pages, if necessary.

1 Answer

+1 vote
There's a number of methods to assist with displaying your question blocks according to the scores provided at QA.

We can use constructed lists and SSI Script to help. There's fancier JavaScript  approaches too.

Try this ...

Create a parent list. Call it QAScoreList. Define the 5 list items as follows ...

1-[%QA_r1%]
2-[%QA_r2%]
3-[%QA_r3%]
4-[%QA_r4%]
5-[%QA_r5%]

I have assumed your QA is a row direction grid.

Now create a constructed list and call it QASortedScoreList. This constructed list will reference the parent list QAScoreList.
ADD(QAScoreList)
Randomize()
SortByLabel()
Reverse()

We now have a constructed list that has saved the QA scores and sorted them from highest to lowest. Tied scores have been randomised.

To finish off, we need to set up the randomised blocks.

Click on Randomize | Blocks. Then click on Add Set.

Next define your 5 blocks by clicking on Add Block for each block.

Block 1 anchors: Q1 to Q1c
Block 2 anchors: Q2 to Q2c
Block 3 anchors: Q3 to Q3c
Block 4 anchors: Q4 to Q4c
Block 5 anchors: Q5 to Q5c

Select the "Use Constructed List" option and choose the QASortedScoreList.

On to the testing to finish off.
answered Nov 5, 2019 by Paul Moon Platinum (80,555 points)
Thanks, Paul. That's still not working. Do you have any solution?
...