<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Creating Spec limits in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/818748#M99705</link>
    <description>&lt;P&gt;Currently, only one set of spec limits are allowed per column.&lt;/P&gt;
&lt;P&gt;However, using JSL, multiple spec limits can be woven into a script that can loop through a data table pulling out each subgroup one at a time, applying the spec limits for the subset and then running the analysis.&amp;nbsp; Here is a simple example.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="txnelson_0-1732433416635.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/70560iE7C85F8EBA377ED2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="txnelson_0-1732433416635.png" alt="txnelson_0-1732433416635.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = 
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );

dtLimits = New Table( "Limits",
	New Column( "Group", character, values( {"F", "M"} ) ),
	New Column( "USL", values( {66, 70} ) ),
	New Column( "Target", values( {61, 64} ) ),
	New Column( "LSL", values( {52, 51} ) )
);

groups = Associative Array( dt:sex ) &amp;lt;&amp;lt; get keys;

nw = New Window( "Distributions", hlb = H List Box() );

For Each( {level}, groups,
	dt &amp;lt;&amp;lt; select where( :sex == level );
	dtSub = dt &amp;lt;&amp;lt; subset( selected columns( 0 ), selecte rows( 1 ), output table( level ), invisible );
	theRow = (dtLimits &amp;lt;&amp;lt; get rows where( :group == level ))[1];
	Eval(
		Eval Expr(
			dtSub:height &amp;lt;&amp;lt; set property(
				"spec limits",
				{LSL( Expr( dtLimits:LSL[theRow] ) ), USL( Expr( dtLimits:USL[theRow] ) ),
				Target( Expr( dtLimits:Target[theRow] ) ), Show Limits( 1 )}
			)
		)
	);
	hlb &amp;lt;&amp;lt; append(
		dis = dtSub &amp;lt;&amp;lt; Distribution( Continuous Distribution( Column( :height ), Process Capability( 0 ) ) );
		Report( dis )[Outline Box( 2 )] &amp;lt;&amp;lt; set title( "Height=" || level )
		;
	);	
);
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sun, 24 Nov 2024 07:30:44 GMT</pubDate>
    <dc:creator>txnelson</dc:creator>
    <dc:date>2024-11-24T07:30:44Z</dc:date>
    <item>
      <title>Creating Spec limits</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/695928#M88109</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to create spec limits using jmp interface or jsl. I'm trying to create the spec limit for different columns with no USL or LSL.. Please help. thank.&lt;/P&gt;</description>
      <pubDate>Wed, 08 Nov 2023 23:59:37 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/695928#M88109</guid>
      <dc:creator>RA899</dc:creator>
      <dc:date>2023-11-08T23:59:37Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Spec limits</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/695968#M88111</link>
      <description>&lt;P&gt;Have you looking into the Limits Manager?&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Analyze=&amp;gt;Quality and Process=&amp;gt;Limits Manager&lt;/P&gt;</description>
      <pubDate>Thu, 09 Nov 2023 02:15:02 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/695968#M88111</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2023-11-09T02:15:02Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Spec limits</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/696348#M88149</link>
      <description>&lt;P&gt;Hi Jim,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have looked at it, but from what I see this tool is to accept limit and apply it to column. What I'm trying to do is to make just calculate a USL or LSL based on a sigma, and a mean that I provide. Or if there is a tool where I specific what I want the sigma to be for that column and then JMP generates the spec limits. Have you been across something like this ? thanks Jim.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Nov 2023 18:25:56 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/696348#M88149</guid>
      <dc:creator>RA899</dc:creator>
      <dc:date>2023-11-09T18:25:56Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Spec limits</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/696355#M88150</link>
      <description>&lt;P&gt;Spec Limits are not normally calculated limits.&amp;nbsp; They are set based on the design specifications or on the tool limitations, etc.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However, here is a simple script that will set the spec limits for all continuous columns in a data table using 3 sigma limits&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Current Data Table();

colNames = dt &amp;lt;&amp;lt; get column names( string, continuous );

For Each( {col}, colNames,
	theMean = Col Mean( As Column( dt, col ) );
	theSTD = Col Std Dev( As Column( dt, col ) );
	Eval(
		Substitute(
				Expr(
					Column( dt, col ) &amp;lt;&amp;lt; set property(
						"Spec Limits",
						{LSL( _LSL_ ), Target( _Target_ ), USL( _USL_ ), Show Limits( 1 )}
					)
				),
			Expr( _LSL_ ), theMean - 3 * theSTD,
			Expr( _Target_ ), theMean,
			Expr( _USL_ ), theMean + 3 * theSTD
		)
	);
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 09 Nov 2023 18:55:40 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/696355#M88150</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2023-11-09T18:55:40Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Spec limits</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/699819#M88461</link>
      <description>&lt;P&gt;Certainly! To create spec limits in JMP using JSL, open your data table, choose the desired column, and use the Distribution platform with the Spec Limits option to set your limits.&lt;/P&gt;</description>
      <pubDate>Fri, 17 Nov 2023 12:05:28 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/699819#M88461</guid>
      <dc:creator>ElenorLedner</dc:creator>
      <dc:date>2023-11-17T12:05:28Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Spec limits</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/818742#M99703</link>
      <description>&lt;P&gt;is it possible to setup different spec limit for different step w/o splitting all steps into each column?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 24 Nov 2024 05:55:57 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/818742#M99703</guid>
      <dc:creator>qli107966</dc:creator>
      <dc:date>2024-11-24T05:55:57Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Spec limits</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/818748#M99705</link>
      <description>&lt;P&gt;Currently, only one set of spec limits are allowed per column.&lt;/P&gt;
&lt;P&gt;However, using JSL, multiple spec limits can be woven into a script that can loop through a data table pulling out each subgroup one at a time, applying the spec limits for the subset and then running the analysis.&amp;nbsp; Here is a simple example.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="txnelson_0-1732433416635.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/70560iE7C85F8EBA377ED2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="txnelson_0-1732433416635.png" alt="txnelson_0-1732433416635.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = 
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );

dtLimits = New Table( "Limits",
	New Column( "Group", character, values( {"F", "M"} ) ),
	New Column( "USL", values( {66, 70} ) ),
	New Column( "Target", values( {61, 64} ) ),
	New Column( "LSL", values( {52, 51} ) )
);

groups = Associative Array( dt:sex ) &amp;lt;&amp;lt; get keys;

nw = New Window( "Distributions", hlb = H List Box() );

For Each( {level}, groups,
	dt &amp;lt;&amp;lt; select where( :sex == level );
	dtSub = dt &amp;lt;&amp;lt; subset( selected columns( 0 ), selecte rows( 1 ), output table( level ), invisible );
	theRow = (dtLimits &amp;lt;&amp;lt; get rows where( :group == level ))[1];
	Eval(
		Eval Expr(
			dtSub:height &amp;lt;&amp;lt; set property(
				"spec limits",
				{LSL( Expr( dtLimits:LSL[theRow] ) ), USL( Expr( dtLimits:USL[theRow] ) ),
				Target( Expr( dtLimits:Target[theRow] ) ), Show Limits( 1 )}
			)
		)
	);
	hlb &amp;lt;&amp;lt; append(
		dis = dtSub &amp;lt;&amp;lt; Distribution( Continuous Distribution( Column( :height ), Process Capability( 0 ) ) );
		Report( dis )[Outline Box( 2 )] &amp;lt;&amp;lt; set title( "Height=" || level )
		;
	);	
);
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 24 Nov 2024 07:30:44 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-Spec-limits/m-p/818748#M99705</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2024-11-24T07:30:44Z</dc:date>
    </item>
  </channel>
</rss>

