I have multiple columns for which I have set limits. How can I select the rows that are outside the limits?
You can also accomplish this via the Process Capability platform.
dt=Open("$SAMPLE_DATA/Semiconductor Capability.jmp"); Process Capability( Process Variables( :NPN1, :PNP1, :PNP2 ), Moving Range Method( Average of Moving Ranges ), Overall Sigma Normalized Box Plots( 1 ), Select Out of Spec Values( 1 ), Goal Plot( 1 ), Capability Index Plot( 1 ), Process Performance Plot( 0 ) );
I am assuming you want to do this selection using a script.
Here is a script to select rows based upon the rows outside of spec limits for one variable
Names Default To Here( 1 ); dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" ); specs = dt:PNP1 << get property("spec limits"); dt << select where( dt:PNP1 <= specs["LSL"] | dt:PNP1 >= specs["USL"]);
Here is script for multiple columns
Names Default To Here( 1 ); dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" ); //colNames = dt << get column names( continuous, string ); colNames = { "PNP1", "PNP3"}; For( i = 1, i <= N Items( colNames ), i++, specs = Column( dt, colNames[i] ) << get property( "spec limits" ); If( Try( Is Missing( specs["LSL"] ) ) == 0 & Try( Is Missing( specs["USL"] ) ) == 0, found = dt << get rows where( as Column( dt, colNames[i] ) <= specs["LSL"] | as Column( dt, colNames[i] ) >= specs["USL"] ); If( N Rows( found ) > 0, dt << select rows(found); ); ); );
If you are looking for a way to do this via the distribution platform, you can hold down the Ctrl key while clicking histogram bars of interest. This will select the corresponding rows in the data table.