Share your ideas for the JMP Scripting Unsession at Discovery Summit by September 17th. We hope to see you there!
Choose Language Hide Translation Bar
Highlighted
Yngeinstn
Level IV

Apply Column Spec Limits based on Row Conditions

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

 

10 REPLIES 10
Highlighted
txnelson
Super User

Re: Apply Column Spec Limits based on Row Conditions

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

Jim
Highlighted
Yngeinstn
Level IV

Re: Apply Column Spec Limits based on Row Conditions

Thank you very much for the information..

Highlighted

Re: Apply Column Spec Limits based on Row Conditions

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 

 

Highlighted
txnelson
Super User

Re: Apply Column Spec Limits based on Row Conditions

This is great......I will count your response as tthe new item about JMP that I learned today
Jim
Highlighted
gzmorgan0
Super User

Re: Apply Column Spec Limits based on Row Conditions

@tonya_mauldin0,

 

 Ditto Jim's comment. Very cool!

Highlighted
Yngeinstn
Level IV

Re: Apply Column Spec Limits based on Row Conditions

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.

Highlighted
Yngeinstn
Level IV

Re: Apply Column Spec Limits based on Row Conditions

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
)
);

 

Highlighted
txnelson
Super User

Re: Apply Column Spec Limits based on Row Conditions

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???

 

Jim
Highlighted
Yngeinstn
Level IV

Re: Apply Column Spec Limits based on Row Conditions

Could I please get some assistance with post processing after the Process Screening is complete? I would like to be able to select / identify the parts that have failed.
Article Labels