Display x out of y question groups, x groups per page

More
10 months 2 weeks ago - 10 months 2 weeks ago #186791 by Skowronski
I have a questionnaire where participants have to rate 250 video games on the basis of how the characters look in each game. For every video game, they have to answer 6 questions. Therefore, I want to create 250 question groups with the same 6 questions for each group/game. An example for the group is attached.

1) Now noone should be forced to rate 250 video games, so I want that every participant only sees randomly 50 out of these 250 groups. The idea is that if 100-200 participants participate, I should have around 10-20 ratings per video game. Is this possible?


2) I'd like to display 10 video games/groups per page so that participants do not have to click 50 times until they are finished. Is this possible?

Attachments:
Last edit: 10 months 2 weeks ago by Skowronski.

Please Log in to join the conversation.

LimeSurvey Partners
More
10 months 2 weeks ago - 10 months 2 weeks ago #186797 by Joffm
Well,
if they see 50 videos with 6 questions they have to click 300 times.
So the 50 more to go to the next page doesn't matter really.

Okay:
BUT the first thing to consider is:
MySQL restriction of columns. If you have 250 videos with 6 single punch questions, you need only for these answers 1500 columns. And consider the management overhead.
With MyISAM tables you will have a maximum of about 1450 columns. There is a long post about this.
https://manual.limesurvey.org/General_FAQ#...regarding_survey_size

So in my opinion the best is to create a "master" - "slave" survey.
In the master you ask the general questions and create by an equation the 50 videos, which the respondent is to see.
In the end-url of this survey you link to the "slave" survey.
This survey now asks the questions of the first video and in the end-url links to itself to ask the questons of the second video and links to itself to ask ...

There is a long thread about this ( in that case there were courses to rate, so very similar)

During the weekend I will create an example.

Joffm


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 10 months 2 weeks ago by Joffm.

Please Log in to join the conversation.

More
10 months 2 weeks ago #186811 by holch
Rating 50 video games? First of all: Who knows more than 50 video games to answer realistic questions? (I am not a gamer, but sounds not quite realistic, most people will focus on a couple of games).

And Joffm is right. 250 games with 6 questions each creates already a lot of database columns and you will reach the limits of your database quickly.

I think you need to restructure your survey to make it viable with Limesurvey. You could try, maybe you'll stay within the limit, but chances are high that you won't be able to activate the survey.

I'm not a LimeSurvey GmbH member. I answer at the LimeSurvey forum in my spare time. No support via private message.
Some helpful links: Manual (EN) | Question Types | Workarounds

Please Log in to join the conversation.

More
10 months 2 weeks ago #186814 by Joffm
Hi, Marika,
short message

I found a way to structure your survey; as I said "master"-"slave".
Tomorrow you'll find a working example.

Joffm

BTW: We all (you, holch and me) talk German.
So maybe it's preferable to move this to the German part of the forum.
There we can talk without any language gap.


Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
10 months 2 weeks ago - 10 months 2 weeks ago #186828 by Joffm
Hi, Marika
here the promised example.

First:
In the first question of the master survey there is the definition of the video games.
I reduced it to 5 (numbers.slice(0, 5)), so it is easier to test. You have to change that later.
<script type="text/javascript" charset="utf-8">
	$(document).on('ready pjax:scriptcomplete',function(){
        const numbers = [ ...Array(250).keys() ].map(num => num + 1);
        numbers.sort(() => Math.random() - 0.5);
        $('#question{QID} input[type="text"]').val(numbers.slice(0, 5));
        $('#question{QID}').hide();
   });
</script>

The result will be:
You get two datasets which are linked by the SAVEDID (in master it's "id", in slave it's "pSAVE")
The column VG in master is only exported to check.

You see in slave the rated video ID and the answers to your six questions.

Here the surveys.
check that the end-urls are correct; both you have to adapt.
In master:
https:// www.yourServer.de/limesurvey /index.php/[surveyID_of_slave]?pSAVE={SAVEDID}&pVIDEO={VG},&newtest=Y
The comma after {VG} is mandatory, not a typo.

In slave there is an equation to set the end-url (eURL)
{if(!is_empty(rVIDEO)," www.yourServer.de/limesurvey/index.php/{..."+rVIDEO+"&newtest=Y ","")}
Meaning: only if there are more video games to rate the end-url links back to the survey, otherwise the end-url is empty and the survey is finished.

File Attachment:

File Name: limesurvey...5493.lss
File Size:29 KB

File Attachment:

File Name: limesurvey...5494.lss
File Size:35 KB


Only works if both surveys are activated.
Master can be open or closed, but slave has to be an opn survey.

By the way: How are you going to display the video games?
The name of the game? Or a picture of the cover?
Name could be difficult because it needs a very long equation to micro-taylor this.
Picture is better: rename the pictures to "videogame[number].jpg" Then it is possible to insert it dynamically.
Even if you display names; transfer the name to a picture.

Best regards
Joffm


Volunteers are not paid.
Not because they are worthless, but because they are priceless
Attachments:
Last edit: 10 months 2 weeks ago by Joffm.
The following user(s) said Thank You: Skowronski

Please Log in to join the conversation.

More
9 months 2 weeks ago #187796 by Skowronski
Thank you, Joffm, this worked :)

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now