Choose Language Hide Translation Bar
Highlighted
Mikasa
Level I

Assign different spec limits from a column rows to another column rows as a property

Hi 

I know Spec limit has been discussed here different times but I could not find a solution for my question

I have a column with different product and I group the same products but each group has different spec limit. all the spec limits are in 2 columns (Upper, lower limit).  I like to assign each row of the product column to the same row in the spec limit column.  Could you please tell me how to have a loop for that? I have written a script like below but does not work

 

//Spec limits
For Each Row(
    If( :Upper Limit != "Null", 
        Eval(
            Substitute(
                    Expr(
                        :REM OX << set property(
                            "spec limits",
                            {LSL( __LSL__ ), USL( __USL__ ), Target( __Target__ ), Show Limits( 1 )}
                        )
                    ),
                Expr( __LSL__ ), :Lower Limit,
                Expr( __USL__ ), :Upper Limit,
                Expr( __Target__ ), :Center Line, 
            )
        )
    )
);

 

14 REPLIES 14
Highlighted
txnelson
Super User

Re: Assign different spec limits from a column rows to another column rows as a property

The Spec Limits Column Property can handle only 1 set of Spec Limits.  The only platform that I am aware of that can handle multiple spec limits is the Process Screening Platform.

     Analyze=>Screening=>Process Screening

 

Jim
Highlighted
Mikasa
Level I

Re: Assign different spec limits from a column rows to another column rows as a property

Thank you

Is there any way that I can write in in my script?

Highlighted
txnelson
Super User

Re: Assign different spec limits from a column rows to another column rows as a property

Your question is ambiguous.    What do you want to write in a script?  The script that you displayed is an attempt to write different spec limits for each row in your data table.   If you do that the value for the current row, will replace the one and only one set of spec limits the column can have.  The spec limit stored in the column property will be the spec limit written for the last row of the data table.

If you are talking about can you write the code for Process Screening, the answer is yes.  The best way to do this, is the same way it is best for all platforms, perform the task interactively, and then go to the output's red triangle, and specify to save the script.

Jim
Highlighted
Mikasa
Level I

Re: Assign different spec limits from a column rows to another column rows as a property

Thank you Jim.

my question was exactly what you said, writing a code for the screening process.  I have JMP Pro 12.2 and I can not see the platform there   I guess it might be in the higher versions.

Highlighted
txnelson
Super User

Re: Assign different spec limits from a column rows to another column rows as a property

Yes it is in a later release. Sorry
Jim
Highlighted
Mikasa
Level I

Re: Assign different spec limits from a column rows to another column rows as a property

I installed JMP 14 and used the process screening platform. I could use the quick graph to plot one of products. But the graph script does not exist when I save the process script.

I need to plot all products as the result of process screening

Highlighted
txnelson
Super User

Re: Assign different spec limits from a column rows to another column rows as a property

Can you share the script it does produce and what it needs to do to solve your issue?
Jim
Highlighted
Mikasa
Level I

Re: Assign different spec limits from a column rows to another column rows as a property

Data Table( "SPCReady" ) << Process Screening(
    Y( :REM OX ),
    Grouping( :Product ),
    Control Chart Type( "Indiv and MR" ),
    Out of Spec Count( 0 ),
    Out of Spec Rate( 0 ),
    Latest Out of Spec( 0 ),
    Cpk( 0 ),
    Ppk( 0 ),
    Spec Limits( 1 ),
    Use Limits Table(
        1,
        Data Table( "SPCReady" ),
        Grouping( :Product ),
        Center( :Center Line ),
        LSL( :Lower Limit ),
        USL( :Upper Limit ),
        Target( :Center Line ),
        Go
    )
);


It makes a table with the group of products the I have (like: Apple(40 count), Dell (27 count), Lenova(20 count) that have the same USL and LSL. I like to plot ReM OX (Y) vs another variable (X) that I have in my original table for different products group and show different USL and LSL. I report them in a window report.

Highlighted

Re: Assign different spec limits from a column rows to another column rows as a property

Here is an example of scripting Quick Graph for Selected Items.

 

dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
obj = dt << Process Screening( Y( :NPN1, :PNP1, :PNP2, :NPN2 ) );
obj << Select All;
obj << Quick Graph for selected items;
Article Labels