This post is a follow-up and extension of the solved forum here.
The following script was developed in that post:
Names Default To Here(1);
dt = Current Data Table();
//get the unique character variable list
col9 = Column(dt, "Column 1");
unique_char = Associative Array(col9) << get keys;
nuniquechar = N Items(unique_char); //will be 5, if categories are A, B, C, D, E
unique_aa = Associative Array(unique_char, Repeat({.}, nuniquechar)); //repeat to initialize values as missing
//create new window to create multiple number edit boxes
vlbExpr = V List Box();
For(i = 1, i <= nuniquechar, i++,
Insert Into(vlbExpr, Text Box("Number for " || Char(unique_char[i]) || ":")); //i.e. "Number for A:"
Eval(
Eval Expr(Insert Into(vlbExpr, Number Edit Box(., <<SET function=""></SET>If Column 2 already exists, and the user wants to replace it with a set of new values, by re-running the script and entering in a new set of values.
I tried to use the update function. If Column 2 exists, the update function will be used on Column 2. Else, Column 2 will be created. as above. but I am not familiar with the Eval expression and need a better understanding of where I could put a statement like this in the script if it works out.
Here is one method that will handle the issue where the column already exists
Names Default To Here( 1 );
dt = Current Data Table();
//get the unique character variable list
col9 = Column( dt, "Column 1" );
unique_char = Associative Array( col9 ) << get keys;
nuniquechar = N Items( unique_char ); //will be 5, if categories are A, B, C, D, E
unique_aa = Associative Array( unique_char, Repeat( {.}, nuniquechar ) ); //repeat to initialize values as missing
//create new window to create multiple number edit boxes
vlbExpr = V List Box();
For( i = 1, i <= nuniquechar, i++,
Insert Into( vlbExpr, Text Box( "Number for " || Char( unique_char[i] ) || ":" ) ); //i.e. "Number for A:"
Eval(
Eval Expr(
Insert Into(
vlbExpr,
Number Edit Box(
.,
<<SET function=""></SET>