Hi there,
This is a follow-up question on a previous question I had posted about here. In short, I use JavaScript to randomly sample a set of numbers, then assign that set to an embedded data variable. Then, I use that set of numbers as an indicator in a Loop&Merge block, to either hide or show a certain question in the Loop, according to the loop iteration. This setup works well, but unfortunately, when I review the exported data, I see that the embedded data variable that holds the set simply doesn't get exported correctly. Instead of a set of 20 numbers, I see only one number in the exported data. This is particularly strange because not only does the loop&merge mechanism follow the set of numbers *retrieved from* the embedded data, but also because when I do a "sanity check" and pipe the embedded data variable into a survey question, I can see the set of numbers in its entirety.
Does someone have an idea why a set of numbers (though defined as a string of characters, but it shouldn't matter) assigned to an embedded data doesn't get exported fully?
For reference, here's the JS code generating and assigning the set of numbers to embedded data:
Qualtrics.SurveyEngine.addOnReady(function()
{
/*Place your JavaScript here to run when the page is fully displayed*/
// the following function randomly subsets a list of numbers
// inspired by: https://stackoverflow.com/a/11935263/6105259
function getRandomSubarray(arr, size) {
var shuffled = arr.slice(0), i = arr.length, temp, index;
while (i--) {
index = Math.floor((i + 1) * Math.random());
temp = shuffled[index];
shuffled[index] = shuffled[i];
shuffled[i] = temp;
}
return shuffled.slice(0, size);
}
// we want to define the total number of trials in the block. in this case we have 30 trials
var x = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30];
// say that we want a question to appear in only 30% of trials. therefore, for a total of 30 trials, the question will appear only in 10. in other words, the question will be hidden in 20 trials. let's randomly subset the 20 trials where the question will be hidden, sing the function defined above:
var twentyRandomMembers = getRandomSubarray(x, 20);
// finally, assign the resultant list of 20 numbers to an embedded data variable
Qualtrics.SurveyEngine.setEmbeddedData('twenty_sampled_numbers_block_one', twentyRandomMembers);
Thanks,
Emmanuel
Specific embedded data variables don't export correctly
Best answer by TomG
twentyRandomMembers is an array. You should convert it to a string before saving as embedded data:
Qualtrics.SurveyEngine.setEmbeddedData('twenty_sampled_numbers_block_one', twentyRandomMembers.join(","));
Sign up
Already have an account? Login
Welcome! To join the Qualtrics Experience Community, log in with your existing Qualtrics credentials below.
Confirm your username, share a bit about yourself, Once your account has been approved by our admins then you're ready to explore and connect .
Free trial account? No problem. Log in with your trial credentials to join.
No free trial account? No problem! Register here
Already a member? Hi and welcome back! We're glad you're here 🙂
You will see the Qualtrics login page briefly before being taken to the Experience Community
Login with Qualtrics
Welcome! To join the Qualtrics Experience Community, log in with your existing Qualtrics credentials below.
Confirm your username, share a bit about yourself, Once your account has been approved by our admins then you're ready to explore and connect .
Free trial account? No problem. Log in with your trial credentials to join. No free trial account? No problem! Register here
Already a member? Hi and welcome back! We're glad you're here 🙂
You will see the Qualtrics login page briefly before being taken to the Experience Community
Login to the Community
Welcome! To join the Qualtrics Experience Community, log in with your existing Qualtrics credentials below.
Confirm your username, share a bit about yourself, Once your account has been approved by our admins then you're ready to explore and connect .
Free trial account? No problem. Log in with your trial credentials to join.
No free trial account? No problem! Register here
Already a member? Hi and welcome back! We're glad you're here 🙂
You will see the Qualtrics login page briefly before being taken to the Experience Community
Login with Qualtrics
Welcome! To join the Qualtrics Experience Community, log in with your existing Qualtrics credentials below.
Confirm your username, share a bit about yourself, Once your account has been approved by our admins then you're ready to explore and connect .
Free trial account? No problem. Log in with your trial credentials to join. No free trial account? No problem! Register here
Already a member? Hi and welcome back! We're glad you're here 🙂
You will see the Qualtrics login page briefly before being taken to the Experience Community
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
