Hi @BenGengenbach ,
It seems that you need to use script to do what you want.
Here is a sample script. I hope it works for you.
1. Run fit model
2. Open factor setting table you want to apply
3. Open script file and run script
rpt = Current Report();
obj = rpt << XPath( "//OutlineBox[@helpKey='Profiler']" );
profiler = obj[1] << get scriptable object;
current_setting_values = profiler << Get Factor Settings;
//Select data table
dtNames = {};
For( t = 1, t <= N Table(), t++,
Insert Into( dtNames, Data Table( t ) << getName )
);
nw2 = New Window( "Data table selector",
<<modal(),
<<Return Result,
H List Box(
Panel Box( "Pick a data table",
dlg_dtlb = List Box( dtNames, width( 280 ), nlines( 5 ), MaxItems( 1 ) ),
)
)
);
//Set the factor values and remember
setting_tb = Data Table( nw2["dlg_dtlb"][1] );
new_settings_list = {};
fac_name_list = {};
new_settings_script = "";
For( s = 1, s <= N Items( current_setting_values ), s++,
isstring1 = Is Missing( Min( setting_tb[0, 1 + s] ) );
isstring2 = Is Missing( Min( Num( setting_tb[0, 1 + s][1] ) ) );
If( isstring1,
Insert Into( new_settings_list, Eval List( {setting_tb[0, 1 + s]} ) ),
Insert Into( new_settings_list, setting_tb[0, 1 + s] );
);
If( isstring2,
new_settings_script = new_settings_script || Regex(
Char( current_setting_values[s] ),
"(.*?) = (.*?)",
"\1"
) || "( \!"_val_" || Char( s ) || "\!", Lock(0), Show(1)),"
,
new_settings_script = new_settings_script || Regex(
Char( current_setting_values[s] ),
"(.*?) = (.*?)",
"\1"
) || "( _val_" || Char( s ) || ", Lock(0), Show(1)),"
)
;
);
new_settings_script = "profiler << Term Value(" || new_settings_script || ")";
For( i = 1, i <= N Row( setting_tb ), i++,
script = new_settings_script;
For( f = 1, f <= N Items( current_setting_values ), f++,
Substitute Into( script, "_val_" || Char( f ), Char( new_settings_list[f][i] ) )
);
Try(
Eval( Parse( script ) );
profiler << Remember Settings;
);
);
//Set Setting name to the report
jmp_version = JMP Version();
jmp_version_num = Num( Left( jmp_version, Contains( jmp_version, "." ) - 1 ) );
if(jmp_version_num >= 17,
s_stringcolbox = obj[1][Outline Box( 2 )][Table Box( 1 )][String Col Edit Box( 1 )];,
s_stringcolbox = obj[1][Outline Box( 2 )][Table Box( 1 )][String Col Box( 1 )];
);
setting_name = s_stringcolbox << get();
new_settings_name = setting_tb[0, 1];
m = N Items( setting_name ) - N Items( new_settings_name ) + 1;
n = N Items( new_settings_name );
j = 1;
For( i = m, i <= N Items( setting_name ), i++,
setting_name[i] = new_settings_name[j];
j = j + 1;
);
s_stringcolbox << set values( setting_name );
Unfortunately, I could not find a way to delete the current settings with a script, so you have to do it manually.