I am seeking some help with whether or not JMP is capable of applying Column Spec Limits based on row conditions and if so how would one go about do that?
Attached is a sample table: The key parameters are :part_number, :set_id, :band1, X__57_AVG, X__58_AVG and X__59_AVG.
:part_number, :band1 and :set_id are the row (test) conditions while the other 3 are the results from the test.
I also attached the sample spec table..
Thanks in advance
JMP only allows 1 set of Spec Limits per column. So what you would need to do is to split the columns in the data table based upon id_column, set_id, band and part_number, and apply the limits to those columns. If this does not allow you to perform the analyses and graphics you need, then at least for the graphical component, one can write JSL that can retrieve and display the Spec Limits as required.
See @tonya_mauldin0 answer below
You do not need to split your data table. You can use Process Screening. However, there are several problems you will need to fix first.
1) Your limits table uses lowercase v13_0 and the data table uses uppercase V13_0. These will need to match. It is case sensitive.
2) The column in your data table is called band1, but the same column in the limits tables is called band. They should be called the same thing.
Then you can run the following code:
Process Screening( Y( :X__57_AVG, :X__58_AVG, :X__59_AVG ), Grouping( :part_number, :set_id, :band1 ), Control Chart Type( "Indiv and MR" ), Use Limits Table( 1, Data Table( "sample_SpecLimits" ), Process Variables( :id_column ), Grouping( :part_number, :set_id, :band1 ), LSL( :LSL ), USL( :USL ), Go ) )
I have a blog post on this very topic. Process specification limits that differ based on a grouping column
Very much appreciated. I can't wait to try it.. I had planned on splitting all the screening columns would have ended up being ~400 columns I can't wait to try this.
Quick Question if i may? How would one use a list of columns with the Y( ) in the Process Screening?
cols = dt_split << Get Column Names( Numeric, Continuous ); dt_split << Process Screening( Y( ), Control Chart Type( "Indiv and MR" ), Use Limits Table( 1, Data Table( "M66127-02B4_LIMITS" ), Process Variables( :SPEC ), LSL( :LSL ), USL( :USL ), Go ) );
I am not quite sure what you mean when you are specifying Y(). Do you want to have the user pop up the dialog entry window, with the Y values not selected, and allow the users to select the Y columns to use???