<?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: How to get spec limits in separate columns in 5 point summary table? in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/798615#M97459</link>
    <description>&lt;P&gt;I changed the code to eliminate the Manage Limits section and to change it to a simple piece of JSL that creates a limit table by reading the limits from the original table.&amp;nbsp; See if this works&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt &amp;lt;&amp;lt; Get Column Group( "Processes" );

(tab = dt &amp;lt;&amp;lt; Tabulate(
	Show Control Panel( 0 ),
	Add Table(
		Column Table( Statistics( Min ) ),
		Column Table( Statistics( Mean, Median ) ),
		Column Table( Statistics( Max ) ),
		Column Table( Statistics( Std Dev ) ),
		Row Table(
			Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
			Analysis Columns(
				Eval( col_names )

			)
		)
	)
)) &amp;lt;&amp;lt; Make Into Data Table;
dtTab = current data table();
tab &amp;lt;&amp;lt; close window;

procCols = Associative Array(dtTab:Analysis Columns &amp;lt;&amp;lt; get values) &amp;lt;&amp;lt; get keys;
// Create a limits table
dtLimits = new table("Limits",
	new column("Variable", character),
	new column("LSL"),
	New column("Target"),
	New column("USL")
);

For Each({col}, procCols,
	specs = column(dt, col) &amp;lt;&amp;lt; get property("Spec Limits");
	if(isList(specs),
		dtLimits &amp;lt;&amp;lt; add rows(1);
		dtLimits:Variable[nrows(dtLimits)] = col;
		dtLimits:LSL[nrows(dtLimits)] = specs["LSL"];
		dtLimits:Target[nrows(dtLimits)] = specs["Target"];
		dtLimits:USL[nrows(dtLimits)] = specs["USL"];
	)
);

dtTab &amp;lt;&amp;lt; Update(
	with( dtLimits ),
	Match Columns( :Analysis Columns = :Variable ),
	Add Columns from Update Table( :LSL, :Target, :USL)
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 13 Sep 2024 13:47:14 GMT</pubDate>
    <dc:creator>txnelson</dc:creator>
    <dc:date>2024-09-13T13:47:14Z</dc:date>
    <item>
      <title>How to get spec limits in separate columns in 5 point summary table?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/797873#M97370</link>
      <description>&lt;P&gt;The example script below gets me the 5 number summary in the format I need. However, I would also like to get the spec limits for each parameter (under Analysis Columns) , LSL and USL, in two separate columns in the final "Summary" data table? How to get this via JSL?&lt;/P&gt;&lt;P&gt;Also, is a another/better way to do what I am need without using Tabulate ()?&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt &amp;lt;&amp;lt; Get Column Group( "Processes" );

(dt &amp;lt;&amp;lt; Tabulate(
	Show Control Panel( 0 ),
	Add Table(
		Column Table( Statistics( Min ) ),
		Column Table( Statistics( Mean, Median ) ),
		Column Table( Statistics( Max ) ),
		Column Table( Statistics( Std Dev ) ),
		Row Table(
			Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
			Analysis Columns(
				Eval( col_names )

			)
		)
	)
)) &amp;lt;&amp;lt; Make Into Data Table;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 11 Sep 2024 13:49:02 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/797873#M97370</guid>
      <dc:creator>Neo</dc:creator>
      <dc:date>2024-09-11T13:49:02Z</dc:date>
    </item>
    <item>
      <title>Re: How to get spec limits in separate columns in 5 point summary table?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/797890#M97373</link>
      <description>&lt;P&gt;You can use the Manage Limits system to do what you want&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt &amp;lt;&amp;lt; Get Column Group( "Processes" );

(tab = dt &amp;lt;&amp;lt; Tabulate(
	Show Control Panel( 0 ),
	Add Table(
		Column Table( Statistics( Min ) ),
		Column Table( Statistics( Mean, Median ) ),
		Column Table( Statistics( Max ) ),
		Column Table( Statistics( Std Dev ) ),
		Row Table(
			Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
			Analysis Columns(
				Eval( col_names )

			)
		)
	)
)) &amp;lt;&amp;lt; Make Into Data Table;
dtTab = current data table();
tab &amp;lt;&amp;lt; close window;

procCols = Associative Array(dtTab:Analysis Columns &amp;lt;&amp;lt; get values) &amp;lt;&amp;lt; get keys;
obj = dt &amp;lt;&amp;lt; Manage Limits(
	Process Variables ( eval(procCols) )
);
obj &amp;lt;&amp;lt; Save to Tall Limits Table;
dtLimits = current data table();
obj &amp;lt;&amp;lt; close window;
try( window("Consistency Problem") &amp;lt;&amp;lt; close window );

dtTab &amp;lt;&amp;lt; Update(
	with( dtLimits ),
	Match Columns( :Analysis Columns = :Variable ),
	Add Columns from Update Table( :LSL, :Target, :USL)
);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="txnelson_0-1726066776333.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/68138i9AC90A69B4B797A4/image-size/medium?v=v2&amp;amp;px=400" role="button" title="txnelson_0-1726066776333.png" alt="txnelson_0-1726066776333.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 11 Sep 2024 14:59:46 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/797890#M97373</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2024-09-11T14:59:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to get spec limits in separate columns in 5 point summary table?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/798231#M97398</link>
      <description>&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2687"&gt;@txnelson&lt;/a&gt;&amp;nbsp;Thanks. I get an error&amp;nbsp; in my JMP 16.2&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Neo_0-1726142696152.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/68174i912F2CC509C04C4B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Neo_0-1726142696152.png" alt="Neo_0-1726142696152.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Sep 2024 12:05:31 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/798231#M97398</guid>
      <dc:creator>Neo</dc:creator>
      <dc:date>2024-09-12T12:05:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to get spec limits in separate columns in 5 point summary table?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/798333#M97412</link>
      <description>&lt;P&gt;Might be enough if you use variables instead of relying on current data table. At least in JMP17.2 both tabulate &amp;lt;&amp;lt; make into data table and &amp;lt;&amp;lt; save tall limits table return reference to the table&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);
Clear Log();
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
col_names = dt &amp;lt;&amp;lt; Get Column Group("Processes");

tab = dt &amp;lt;&amp;lt; Tabulate(
	Show Control Panel(0),
	Add Table(
		Column Table(Statistics(Min)),
		Column Table(Statistics(Mean, Median)),
		Column Table(Statistics(Max)),
		Column Table(Statistics(Std Dev)),
		Row Table(
			Grouping Columns(:lot_id, :wafer, :Wafer ID in lot ID),
			Analysis Columns(
				Eval(col_names)

			)
		)
	)
);

dttab = tab &amp;lt;&amp;lt; Make Into Data Table;
tab &amp;lt;&amp;lt; close window;

procCols = Associative Array(dtTab:Analysis Columns &amp;lt;&amp;lt; get values) &amp;lt;&amp;lt; get keys;
obj = dt &amp;lt;&amp;lt; Manage Limits(Process Variables(Eval(procCols)));
dtlimits = obj &amp;lt;&amp;lt; Save to Tall Limits Table;
obj &amp;lt;&amp;lt; close window;
Try(Window("Consistency Problem") &amp;lt;&amp;lt; close window);

dtTab &amp;lt;&amp;lt; Update(
	with(dtLimits),
	Match Columns(:Analysis Columns = :Variable),
	Add Columns from Update Table(:LSL, :Target, :USL)
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 12 Sep 2024 16:02:34 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/798333#M97412</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2024-09-12T16:02:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to get spec limits in separate columns in 5 point summary table?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/798516#M97440</link>
      <description>&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/14366"&gt;@jthi&lt;/a&gt;&amp;nbsp;Get this error on JMP 16.2&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Object 'Data Table' does not recognize the message 'Manage Limits'; &lt;BR /&gt;perhaps you mean one of these:  &amp;lt;&amp;lt;Manage Spec Limits &amp;lt;&amp;lt;Item Analysis &amp;lt;&amp;lt;Factor Analysis &amp;lt;&amp;lt;Combine Columns... &amp;lt;&amp;lt;Make Indicator Columns... &amp;lt;&amp;lt;New Columns... &amp;lt;&amp;lt;Paste Columns &amp;lt;&amp;lt;Markers &amp;lt;&amp;lt;Select Matching Cells &amp;lt;&amp;lt;Get Rows &amp;lt;&amp;lt;Maximize Display &amp;lt;&amp;lt;Move Scripts &amp;lt;&amp;lt;Rename Table Script &amp;lt;&amp;lt;Matched Pairs &amp;lt;&amp;lt;Multivariate &amp;lt;&amp;lt;Normal Mixtures &amp;lt;&amp;lt;Capability &amp;lt;&amp;lt;Parallel Plot.
There is no other opened data table to update the current data table.
Empty()&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Changing Manage Limits () to Manage Spec Limits () gives me another error.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Neo_0-1726217735617.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/68217i191CDFCAD2681B08/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Neo_0-1726217735617.png" alt="Neo_0-1726217735617.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Sep 2024 08:56:21 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/798516#M97440</guid>
      <dc:creator>Neo</dc:creator>
      <dc:date>2024-09-13T08:56:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to get spec limits in separate columns in 5 point summary table?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/798523#M97443</link>
      <description>&lt;P&gt;Maybe this doesn't work in JMP16.2. You have to perform different types of checks for the tables. If I remember correctly Get Data Table List() is fairly robust option and the latest table is always first&lt;/P&gt;</description>
      <pubDate>Fri, 13 Sep 2024 09:21:39 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/798523#M97443</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2024-09-13T09:21:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to get spec limits in separate columns in 5 point summary table?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/798615#M97459</link>
      <description>&lt;P&gt;I changed the code to eliminate the Manage Limits section and to change it to a simple piece of JSL that creates a limit table by reading the limits from the original table.&amp;nbsp; See if this works&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
col_names = dt &amp;lt;&amp;lt; Get Column Group( "Processes" );

(tab = dt &amp;lt;&amp;lt; Tabulate(
	Show Control Panel( 0 ),
	Add Table(
		Column Table( Statistics( Min ) ),
		Column Table( Statistics( Mean, Median ) ),
		Column Table( Statistics( Max ) ),
		Column Table( Statistics( Std Dev ) ),
		Row Table(
			Grouping Columns( :lot_id, :wafer, :Wafer ID in lot ID ),
			Analysis Columns(
				Eval( col_names )

			)
		)
	)
)) &amp;lt;&amp;lt; Make Into Data Table;
dtTab = current data table();
tab &amp;lt;&amp;lt; close window;

procCols = Associative Array(dtTab:Analysis Columns &amp;lt;&amp;lt; get values) &amp;lt;&amp;lt; get keys;
// Create a limits table
dtLimits = new table("Limits",
	new column("Variable", character),
	new column("LSL"),
	New column("Target"),
	New column("USL")
);

For Each({col}, procCols,
	specs = column(dt, col) &amp;lt;&amp;lt; get property("Spec Limits");
	if(isList(specs),
		dtLimits &amp;lt;&amp;lt; add rows(1);
		dtLimits:Variable[nrows(dtLimits)] = col;
		dtLimits:LSL[nrows(dtLimits)] = specs["LSL"];
		dtLimits:Target[nrows(dtLimits)] = specs["Target"];
		dtLimits:USL[nrows(dtLimits)] = specs["USL"];
	)
);

dtTab &amp;lt;&amp;lt; Update(
	with( dtLimits ),
	Match Columns( :Analysis Columns = :Variable ),
	Add Columns from Update Table( :LSL, :Target, :USL)
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 13 Sep 2024 13:47:14 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-get-spec-limits-in-separate-columns-in-5-point-summary/m-p/798615#M97459</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2024-09-13T13:47:14Z</dc:date>
    </item>
  </channel>
</rss>

