Choose Language Hide Translation Bar
MaxDiff: Raw Data from Qualtrics

This isn't so much a complete idea as it is a starting point for a discussion.


I recieved some data in a format like this:

Column Headers:

Res, ID, L1, L2, L3..., M1, M2, M3...

Each row is a unique respondant

The L's and Ms are the "Most" and "Least" liked option, and the number associated with it is the Choice Set.

The data in each of the L and M is the Profile ID that was selected (the text of the choice).


In JMP I need the format to be:

ID, Choice Set, Profile ID, Response


Fromatting the data manually is a pain, so I started cooking up this script (attached) to try to tackle the problem. 

If you have data like this, please try out the script, so see if it works. If it doesn't please post a short annonymous bit of data back so I can see how your data is formatted.


The intermediate tables in this script might also be useful in constructing the multi-table version of tables that the MaxDiff platform can read. (that's step 2, and it would solve the problem of all the levels of the Profile ID not being present in the survey data.)


The header of the script has these important notes:

//This script expects that Max Diff survey responses are formatted with two ID

//columns followed by n L responses and then the n M responses. Where the number of

//L columns is equal to the number of M columns.


//Res, ID, L1, L2..., M1, M2...  The ID cols, the L's and the M's MUST follow this format.

//The format is required because the columns are referenced explicitly.


//ALL of the Profile IDs are expected to occur. If for example, only three levels of four

//presented in the survey occur in this response data, then dummy responses that include

//the missing levels of the Profile ID MUST be added.


There are some commented options in the script for the data source, edit the commented out line depending on where your data is.

Article Labels

    There are no labels assigned to this post.

Article Tags
1 Comment
Staff (Retired)

Good examples of many JSL functions in that script:

<<Get Selected Columns
Insert Into()
Set Name()
<<Delete Formula
<<Set Selected
<<Delete Columns
close( dt, nosave )