Daniel, we can do this with 2 constructed lists.
Other solutions maybe more efficient, but this works nicely and isn't much work to put together.
My assumptions are as follows ...
Grid question name: QX
Rows: 5 items (saved in parent list QXRowList)
Columns: Scale 1-7 rating
Note: Feel free to change my scripting variables to match yours.
Create constructed list #1. Call it QXRankedList. Insert the following SSI Script ...
AddSorted(QX,0)
This constructed list sorts the items from highest ranked down to lowest ranked.
Create constructed list #2. Call it QXHighestList. Insert the following Perl Script ...
Begin Unverified Perl
my $i=1;
my $numitems=LISTLENGTH("QXRowList");
for($i=1; $i<=$numitems; $i++)
{
if (VALUE("QX_r".$i)==VALUE("QX_r".LISTVALUE("QXRankedList",1)))
{
ADD("QXRowList",$i);
}
}
RANDOMIZE();
End Unverified
This constructed list matches all items ranked the highest from constructed list #1: QXRankedList.
I just gave it a test drive. Worked like a charm.