The action of JMP is to loop one row at a time through the data table when running a Formula() or Set Each Value().And by default, it will only be outputting to the current row. There are different ways to solve your issue, but this is the way I would do it
Names Default To Here( 1 );
Operations = Open( "$SAMPLE_DATA/Big Class.jmp" );
stiop = 10;
stiPLL = 20;
stiPHL = 30;
STIarg = {Char( stiop ), Char( stiPLL ) || "<PL<" || Char( stiPHL )};
Operations << New Column( "STI",
character,
Set each Value(
If( Mod( Row(), 2 ) != 0,
:STI = Eval( STIarg[1] ),
:STI = Eval( STIarg[2] )
)
)
);
or if you want it to only have the 2 rows
Names Default To Here( 1 );
Operations = Open( "$SAMPLE_DATA/Big Class.jmp" );
stiop = 10;
stiPLL = 20;
stiPHL = 30;
STIarg = {};
Insert into(STIarg, char(stiop));
Insert into(STIarg,Char( stiPLL ) || "<PL<" || Char( stiPHL ) );
Operations << New Column( "STI",
character, set values(STIarg));
Jim