@Timesawasten12 I don't know how you'll be accessing the column names and values, but the following example (or some variation of it) might work. I'm using the Fitness sample data to run the analysis against, and the attached table Settings for the setting values.
tblRef = Open("$Sample_Data/Fitness.JMP");
settingsTblRef = Data Table("Settings");
profilerExpr = Expr(Profiler(1,Confidence Intervals(1)));
For(i=1,i<=N Row(settingsTblRef),i++,
nextTermValExpr = Expr(Term Value());
For(j=1,j<=N Cols(settingsTblRef),j++,
nextCol = Substitute(
Expr(colName(val,Lock(0),Show(1))),
Expr(colName),Parse(Column(settingsTblRef,j)<<Get Name),
Expr(val),Column(settingsTblRef,j)[i]
);
Insert Into(nextTermValExpr,Name Expr(nextCol))
);
Insert Into(profilerExpr,Name Expr(nextTermValExpr));
nextSettingName = Substitute(
Expr(Remember Settings(nextName, Differences Report( 0 ) )),
Expr(nextName),"Setting " || Char(i)
);
Insert Into(profilerExpr,Name Expr(nextSettingName))
);
Eval(Substitute(
Expr(
fitModelPlt = tblRef << Fit Model(
Y( :Oxy ),
Effects( :Runtime, :Weight, :RunPulse, :RstPulse, :MaxPulse ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ),
Run(pExpr)
)
),
Expr(pExpr),Name Expr(profilerExpr)
));
For each row of setting values, loop over each column building the individual column expressions inside Term Value. At the bottom of the loop insert the setting name. When this is done, insert the finished expression in the main analysis expression and evaluate it. The trick is using Name Expr so its unevaluated contents are used. For example, the first Substitute replaces colName and val in the first argument with the parsed name of the column and the value from the Settings table, respectively. Name Expr is needed in Insert Into to keep the expression nextCol from evaluating any further than what Substitute provides it. Same goes for the other Name Expr.