Multiple Banks of Statements in Matrix | XM Community
Skip to main content
Question

Multiple Banks of Statements in Matrix

  • February 12, 2025
  • 3 replies
  • 17 views

Forum|alt.badge.img+1

I am trying to create a matrix table that pulls a number of statements from different categories. Imagine I’m asking: “Have you watched the following sports teams?” 

The choices are “Definitely”, “Maybe”, “No”, and “Not Sure.”

But I want to set up banks based on sport. I want to have a bunch of soccer teams, a bunch of hockey teams,  a bunch of baseball teams, etc., but I only want to display 2 of each sport.

So I need a way to establish 5 banks of statements (team names) and pull 2 per bank (sport). I can’t quite figure out how to do this using randomization and I want to keep everything in one matrix so I don’t get people thinking too hard about individual sports.

Thanks in advance!

3 replies

TomG
Level 8 ●●●●●●●●
Forum|alt.badge.img+27
  • Level 8 ●●●●●●●●
  • 5926 replies
  • February 12, 2025

On the page before the matrix, add 5 multiple choice questions (one for each sport) where the choices are the teams. Use Advanced Randomization on each to display 2 teams evenly presented. Use JS to hide each question.

Add all the teams to your Matrix question and use display logic on each statement based on whether the team was displayed in the MC question on the previous page.


Forum|alt.badge.img+1
  • Author
  • 1 reply
  • February 12, 2025
TomG wrote:

On the page before the matrix, add 5 multiple choice questions (one for each sport) where the choices are the teams. Use Advanced Randomization on each to display 2 teams evenly presented. Use JS to hide each question.

Add all the teams to your Matrix question and use display logic on each statement based on whether the team was displayed in the MC question on the previous page.

Thanks for this technique! I’m using this code to hide the questions:

Qualtrics.SurveyEngine.addOnload(function() {
jQuery("#"+this.questionId).hide();
this.clickNextButton();
});

Qualtrics.SurveyEngine.addOnReady(function()
{
	/*Place your JavaScript here to run when the page is fully displayed*/

});

Qualtrics.SurveyEngine.addOnUnload(function()
{
	/*Place your JavaScript here to run when the page is unloaded*/

});

With the follow-on question, I figured out that by using “Display Logic” and retyping the whole list (every team from all five hidden banks), I can then set it to: 

TEAM A

Display this Choice only if the following condition is met:

 

Question > QuestionID > TEAM A > Is displayed

But I have to do this Y*X times, where Y is the number of hidden questions and X is the number of teams in each question.

Is there a more streamlined way to set the matrix to display only answers that were present on the previous page or block?


TomG
Level 8 ●●●●●●●●
Forum|alt.badge.img+27
  • Level 8 ●●●●●●●●
  • 5926 replies
  • February 12, 2025

Unfortunately, there isn’t a more streamlined way. Under more normal conditions carry forward would be the more streamlined approach but because you need to use multiple questions for randomization that won’t work.

BTW, presumably you have all five hidden questions on the same page by themselves, so you could hide entire page with a single script attached to one of the questions:

Qualtrics.SurveyEngine.addOnload(function() {
  jQuery(".Skin").hide();
  this.clickNextButton();
});

 


Leave a Reply