Have an idea?

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

How to get the position within a random

Is there a way to use the position within a randomized list in a text?

Example:
In a loop there is the function [% LOOPITERATION(Concept) %] that allows to use a number for the concepts per respondent in the order they appear.

In a later Quesiton I would like to use the same number as a reference as: Remember concept 1 from before..

anyl idea how to do that?
asked Jul 5 by steve
To clarify, if you were to randomize a list from [1, 2, 3] to [2, 3, 1], you want a function where you can put in 3 and get out 2 because the third item appeared in the second position of the randomized list?
yes correct thats the idea
GENIUS - works - thank you

1 Answer

+2 votes
Please try this code out:

[% Begin Unverified Perl
my $listName = 'list2';
my $item = 1;

my $jsArr = LISTVALUESARRAY($listName);
$jsArr =~ s/^.//;
$jsArr =~ s/.$//;
my @arr = split /,/, $jsArr;
my $index = 0;
foreach my $val (@arr) {
    $index++;
    if ($val == $item) {
        last;
    }
}
return $index;
End Unverified %]


Lines 2 and 3 should be updated with the name of the randomized list and the item whose randomized position you want returned.
answered Jul 5 by Zachary Platinum Sawtooth Software, Inc. (63,475 points)
...