This example illustrates an approach that might work.
Names Default to Here( 1 );
// mock up data set with Strength
dt = New Table( "Strength",
New Column( "Strength", "Character", "Nominal",
Values( {"Intelligent", "Innovative", "Initiative", "Introvert", "Intelligent",
"Innovative", "Initiative", "Introvert", "Intelligent", "Innovative",
"Initiative", "Introvert"} )
)
);
// present user with choices
choice = Associative Array( :Strength ) << Get Keys;
New Window( "Choose Strengths",
Outline Box( "Pick Your Strengths from the Choices Below",
Panel Box( "Strengths",
Check Box( choice,
<< Set Function(
Function( { me, index }, { Default Local },
selection = me << Get Selected;
n = N Items( selection );
dt << Clear Select;
If(
n == 1,
Eval(
Substitute(
Expr( dt << Select Where( :Strength == sss ) ),
Expr( sss ), Name Expr( selection[1] )
)
),
n > 0,
sel expr = Expr( Or() );
For( i = 1, i <= n, i++,
equality = Substitute(
Expr( :Strength == ccc ),
Expr( ccc ), selection[i]
);
Insert Into( sel expr, Name Expr( equality ) );
);
Eval(
Substitute(
Expr( dt << Select Where( eee ) ),
Expr( eee ), Name Expr( sel expr )
)
);
);
);
)
)
)
)
);