I usually start my looking for same names from Scripting Index (and in this case it might work)

Only thing I'm not sure about is Impute Missing part

Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Bands Data.JMP" );
obj = dt << Explore Outliers(
Y(
:proof cut, :viscosity, :caliper, :ink temperature, :humidity, :roughness,
:blade pressure, :varnish pct, :press speed, :ink pct, :solvent pct,
:ESA Voltage, :ESA Amperage, :wax, :hardener, :roller durometer,
:current density, :anode space ratio, :chrome content
)
);
obj << k Nearest Neighbor Outliers(K(4));
obj << Impute Missing(0);
obj << Save NN Distances;
//obj << Close Window;
JMP has several methods to explore outliers (Analyze>Screening>Explore outliers).
For a first data exploration, I am looking for a solution so the users can interactively filter all anomalous rows.
One simple approach is to conduct a KNN outlier analysis (unchecking the option of imputations and being able to change the default number)

And save the distances to each NN, so a global score can be obtained (e.g., by adding all distances into one column).

How can automate these steps that have GUI actions in JMP 16?
Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Bands Data.JMP" );
// Launch platform: Explore Outliers
Explore Outliers(
Y(
:proof cut, :viscosity, :caliper, :ink temperature, :humidity, :roughness,
:blade pressure, :varnish pct, :press speed, :ink pct, :solvent pct,
:ESA Voltage, :ESA Amperage, :wax, :hardener, :roller durometer,
:current density, :anode space ratio, :chrome content
)
);