Perhaps not what you want, but if you are only interested in the numerics you can always use 'Fit Model' and force it to always use EMS:
NamesDefaultToHere(1);
// This sample data is balanced with 90 rows
dt = Open("$SAMPLE_DATA/Variability Data/2 Factors Crossed.jmp");
// Make it unbalanced by setting 10 measurements to missing (randomly) . . .
Column(dt, "Measurement")[J(10, 1, RandomInteger(NRow(dt)))] = .;
// 'Variability' platform will use REML to estimate the model
dt << Variability Chart(
Y( :Measurement ),
X( :Operator, :part# ),
Model( "Crossed" ),
Variance Components( 1 )
);
// Replicate this analysis using 'Fit Model' . . .
dt << Fit Model(
Y( :Measurement ),
Effects,
Random Effects( :Operator, :part#, :Operator * :part# ),
NoBounds( 0 ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run
);
// Force 'Fit Model' to estimate using EMS rather than REML . . .
dt << Fit Model(
Y( :Measurement ),
Effects,
Random Effects( :Operator, :part#, :Operator * :part# ),
NoBounds( 0 ),
Personality( "Standard Least Squares" ),
Method( "EMS" ),
Emphasis( "Minimal Report" ),
Run
);