<?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 use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler? in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626843#M82554</link>
    <description>&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/5358"&gt;@Mark_Bailey&lt;/a&gt;&amp;nbsp;str is just a variable name, during my code below I actually used random_sim and responses_sim, by chaning this two variables in my for loop, I can simulate all factors once a time. The code I used before to extract Y and Term Value have "\! in the string, but your way to extract argument doesn't have "\!, which is the only difference.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;			simu model script = Parse(
				Eval Insert(
					"\[
				simobj &amp;lt;&amp;lt; Simulator(
				1,
				Factors( ^random_sim^),
				Responses( ^responses_sim^ ),
				Resimulate
				);
				]\"
				)
			);
			Show( simu model script );
			Eval( simu model script );&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 27 Apr 2023 15:56:20 GMT</pubDate>
    <dc:creator>lazzybug</dc:creator>
    <dc:date>2023-04-27T15:56:20Z</dc:date>
    <item>
      <title>How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/623638#M82247</link>
      <description>&lt;P&gt;Hi JSL experts,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a DoE OLS or REML model with prediction profiler like below. How I can find all the X variable ranges to meet LSL and USL automatically with JSL by fixing other variables? For example, X1 must be below 34.6 to meet spec.&amp;nbsp; Thank you so much for your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="lazzybug_1-1681847039483.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/52069i07CA0330E9F20B87/image-size/medium?v=v2&amp;amp;px=400" role="button" title="lazzybug_1-1681847039483.png" alt="lazzybug_1-1681847039483.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jun 2023 16:08:16 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/623638#M82247</guid>
      <dc:creator>lazzybug</dc:creator>
      <dc:date>2023-06-09T16:08:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/623655#M82249</link>
      <description>&lt;P&gt;JMP 17 introduced the &lt;A href="https://www.jmp.com/support/help/en/17.1/index.shtml#page/jmp/example-of-design-space-profiler.shtml" target="_blank" rel="noopener"&gt;design space profiler&lt;/A&gt; for determining operating ranges in this kind of situation. A good reason to update to 17 if you haven't already.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you're truly in need of the particular JSL solution you described, hopefully somebody with better JSL skills than me can chime in.&lt;/P&gt;</description>
      <pubDate>Tue, 18 Apr 2023 20:36:16 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/623655#M82249</guid>
      <dc:creator>Ross_Metusalem</dc:creator>
      <dc:date>2023-04-18T20:36:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/623672#M82251</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/14688"&gt;@Ross_Metusalem&lt;/a&gt;&amp;nbsp;, we are using JMP 16 currently. Hopefully, we can upgrade to 17 soon.&lt;/P&gt;</description>
      <pubDate>Tue, 18 Apr 2023 22:56:04 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/623672#M82251</guid>
      <dc:creator>lazzybug</dc:creator>
      <dc:date>2023-04-18T22:56:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/623883#M82275</link>
      <description>&lt;P&gt;In the meantime, you can use the &lt;A href="https://www.jmp.com/support/help/en/16.2/#page/jmp/simulator.shtml#" target="_self"&gt;Simulation feature in the Prediction Profiler&lt;/A&gt; for this purpose.&lt;/P&gt;</description>
      <pubDate>Wed, 19 Apr 2023 14:39:02 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/623883#M82275</guid>
      <dc:creator>Mark_Bailey</dc:creator>
      <dc:date>2023-04-19T14:39:02Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/624598#M82337</link>
      <description>&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/5358"&gt;@Mark_Bailey&lt;/a&gt;&amp;nbsp;can you give me some hints how to get the range using Simulation in the Prediction Profiler? Thank you so much.&lt;/P&gt;</description>
      <pubDate>Fri, 21 Apr 2023 00:13:47 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/624598#M82337</guid>
      <dc:creator>lazzybug</dc:creator>
      <dc:date>2023-04-21T00:13:47Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/624888#M82358</link>
      <description>&lt;P&gt;Have you studied the Help section I cited?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You must specify the response limits first to determine the desirability function to assess the suitability of the factor range.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Open the simulator in the Prediction Profiler. All the factor levels are fixed at the start. Change X1 to vary randomly as you expect under process control. Specify the random variation of the response, too. The simulation will display a histogram to give you an idea of the suitability of the transmission of error from X1 to the response. The simulation table will provide detailed information.&lt;/P&gt;</description>
      <pubDate>Fri, 21 Apr 2023 13:44:54 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/624888#M82358</guid>
      <dc:creator>Mark_Bailey</dc:creator>
      <dc:date>2023-04-21T13:44:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/624933#M82374</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/5358"&gt;@Mark_Bailey&lt;/a&gt;, I did follow the link you shared, I can find the defect rate below 5% for each X variable manually. Because I have so many models and variables, I want to find a way to automate this process not doing it one by one. It will take so much time. Is it possible to do it in JSL?&lt;/P&gt;</description>
      <pubDate>Fri, 21 Apr 2023 17:05:54 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/624933#M82374</guid>
      <dc:creator>lazzybug</dc:creator>
      <dc:date>2023-04-21T17:05:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/625977#M82465</link>
      <description>&lt;P&gt;Yes, you can script the Profiler and the Simulator it provides. See Help &amp;gt; Scripting Index &amp;gt; Objects &amp;gt; Profiler and Simulator.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="sim.PNG" style="width: 958px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/52333iA43A7A1F8283723B/image-size/large?v=v2&amp;amp;px=999" role="button" title="sim.PNG" alt="sim.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 25 Apr 2023 16:39:46 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/625977#M82465</guid>
      <dc:creator>Mark_Bailey</dc:creator>
      <dc:date>2023-04-25T16:39:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626025#M82471</link>
      <description>&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/5358"&gt;@Mark_Bailey&lt;/a&gt;&amp;nbsp;I finished the simulation for parameters, and collect all the simulation results already. Super cool!!!&amp;nbsp;Thank you so much for your help.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The only challenge for me is to get the term value from the model script. What I used is to search "{Profiler(" and then "Term Value" to get all the terms into a list, and then simulate. The term value has numeric and character, some with "xxxx"n, some not, it's pretty difficult to make code for all different cases. Do you have easy way to get the Term value from the DoE model?&lt;/P&gt;</description>
      <pubDate>Tue, 25 Apr 2023 17:30:48 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626025#M82471</guid>
      <dc:creator>lazzybug</dc:creator>
      <dc:date>2023-04-25T17:30:48Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626027#M82473</link>
      <description>&lt;P&gt;By "&lt;SPAN&gt;get the term value from the model script," do you mean the parameter estimate in the Model table script? Did you save a table script for the model?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Character strings can be used for names. Some characters are disallowed in names. Use of improper names require a work-around.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 25 Apr 2023 17:41:04 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626027#M82473</guid>
      <dc:creator>Mark_Bailey</dc:creator>
      <dc:date>2023-04-25T17:41:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626045#M82479</link>
      <description>&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/5358"&gt;@Mark_Bailey&lt;/a&gt;&amp;nbsp;Below is one of my examples. I need a generic code which needs to read the scripts from Fit group model, and then get the Term Value into a factors list. Once I have the list, I will compare with column name in the data table to determine they are number or character so that I can make my simulation code.&amp;nbsp; The last part is my code, but it's too complicated and it won't work if there are multiple Term Value in the profiler. So it's better to leave only Profiler on.&amp;nbsp; I wonder if you have easier way to finish the same task? Thank you so much for your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;factors = {"ELONG", "HARDNESS(+/-0.2)", "ABRASION For example (%)", "MODULUS"}&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;This is the script from an example model:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Fit Group(
	Fit Model(
		Y( :"SILICA (%)"n ),
		Effects( :ELONG, :"HARDNESS(+/-0.2)"n ),
		Personality( "Standard Least Squares" ),
		Emphasis( "Minimal Report" ),
		Run(
			Profiler(
				1,
				Confidence Intervals( 1 ),
				Term Value(
					ELONG( 417.5, Lock( 0 ), Show( 1 ) ),
					"HARDNESS(+/-0.2)"n( 69.775, Lock( 0 ), Show( 1 ) )
				)
			),
			:"SILICA (%)"n &amp;lt;&amp;lt; {Summary of Fit( 1 ), Analysis of Variance( 1 ),
			Parameter Estimates( 1 ), Effect Tests( 0 ), Effect Details( 0 ),
			Lack of Fit( 0 ), Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ),
			Plot Regression( 0 ), Plot Residual by Predicted( 0 ),
			Plot Studentized Residuals( 1 ), Plot Effect Leverage( 0 ),
			Plot Residual by Normal Quantiles( 1 ), Box Cox Y Transformation( 0 ),
			Press( 1 )}
		)
	),
	Fit Model(
		Y( :SILANE Value ),
		Effects(
			:"ABRASION For example (%)"n, :MODULUS, :ELONG, :"HARDNESS(+/-0.2)"n,
			:MODULUS * :ELONG
		),
		Personality( "Standard Least Squares" ),
		Emphasis( "Minimal Report" ),
		Run(
			Profiler(
				1,
				Confidence Intervals( 1 ),
				Term Value(
					"ABRASION For example (%)"n( 133.1, Lock( 0 ), Show( 1 ) ),
					MODULUS( 1255, Lock( 0 ), Show( 1 ) ),
					ELONG( 417.5, Lock( 0 ), Show( 1 ) ),
					"HARDNESS(+/-0.2)"n( 69.775, Lock( 0 ), Show( 1 ) )
				)
			),
			:SILANE Value &amp;lt;&amp;lt; {Summary of Fit( 1 ), Analysis of Variance( 1 ),
			Parameter Estimates( 1 ), Effect Tests( 0 ), Effect Details( 0 ),
			Lack of Fit( 0 ), Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ),
			Plot Regression( 0 ), Plot Residual by Predicted( 0 ),
			Plot Studentized Residuals( 1 ), Plot Effect Leverage( 0 ),
			Plot Residual by Normal Quantiles( 1 ), Box Cox Y Transformation( 0 ),
			Press( 1 )}
		)
	),
	Fit Model(
		Y( :SULFUR ),
		Effects( :ELONG ),
		Personality( "Standard Least Squares" ),
		Emphasis( "Minimal Report" ),
		Run(
			Profiler(
				1,
				Confidence Intervals( 1 ),
				Term Value( ELONG( 417.5, Lock( 0 ), Show( 1 ) ) )
			),
			:SULFUR &amp;lt;&amp;lt; {Summary of Fit( 1 ), Analysis of Variance( 1 ),
			Parameter Estimates( 1 ), Effect Tests( 0 ), Effect Details( 0 ),
			Lack of Fit( 0 ), Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ),
			Plot Regression( 0 ), Plot Residual by Predicted( 0 ),
			Plot Studentized Residuals( 1 ), Plot Effect Leverage( 0 ),
			Plot Residual by Normal Quantiles( 1 ), Box Cox Y Transformation( 0 ),
			Press( 1 )}
		)
	),
	&amp;lt;&amp;lt;{Profiler(
		1,
		Confidence Intervals( 1 ),
		Term Value(
&lt;FONT color="#0000FF"&gt;			ELONG( 417.5, Lock( 0 ), Show( 1 ) ),
			"HARDNESS(+/-0.2)"n( 69.775, Lock( 0 ), Show( 1 ) ),
			"ABRASION For example (%)"n( 133.1, Lock( 0 ), Show( 1 ) ),
			MODULUS( 1255, Lock( 0 ), Show( 1 ) )&lt;/FONT&gt;
		)
	)}
);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;This is my code to make factors list:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Current Data Table();
curep = Current Report();
dtname = dt &amp;lt;&amp;lt; Get Name;
//Check how many prediction profiles, if &amp;gt;1 it's fit group, =1 it's fit model
pred_objs = curep &amp;lt;&amp;lt; XPath( "//OutlineBox[ contains( text(), 'Prediction Profile' ) ]" );
num_objs = N Items( pred_objs );
If( num_objs &amp;lt; 1,
	Throw( "No prediction profile is found!" )
);
If( num_objs == 1,
	textind = "Profiler(",
	textind = "{Profiler("
);

//Read the Model Term list
modelobj = curep[Outline Box( 1 )] &amp;lt;&amp;lt; get scriptable object;
modeltext = Char( modelobj &amp;lt;&amp;lt; get script );
//Show( modeltext );
posA = Contains( modeltext, textind );
termstext = Right( modeltext, Length( modeltext ) - posA + 1 );
/*Show( termstext );*/
posB = Contains( termstext, "Term Value" );
posC = Contains( termstext, "Show(1))", -1 );
termvalue = Left( termstext, posC + 7 ) || ","; //Make sure all terms end with )),
termvalue = Right( termvalue, Length( termvalue ) - posB - 10 );
/*Show( termvalue );
Show( posB );
Show( posC );
Show( posD );*/

//Check how many factors or main effects in the final model
words = Words( termvalue, "," );
termnum = 0;
For( i = 1, i &amp;lt;= N Items( words ), i++,
	If( Contains( words[i], "Show" ),
		termnum = termnum + 1
	)
);

//Get the term with default value
term list = {};
For( k = 1, k &amp;lt;= termnum, k++, 
	//show(firstpos);
	pos1 = Contains( termvalue, "))," ) + 3;
	term1 = Left( termvalue, pos1 );
	//show(term1);
	termvalue = Right( termvalue, Length( termvalue ) - pos1 );
	//show(termvalue);
	Insert Into( term list, term1 );
);
Show( term list );

//get term name without default value
factors = {};
For( k = 1, k &amp;lt;= N Items( term list ), k++,
	termK = term list[k];
	firstchar = Left( termK, 1 );
	If( firstchar == "\!"",
		pos2 = Contains( termK, "\!"", -1 );
		term2 = Left( termK, pos2 + 1 );
	,
		pos2 = Contains( termK, "(" ); //Categorical terms cannot have "()" in the column name
		term2 = Left( termK, pos2 - 1 );
	);
	Insert Into( factors, char(parse(term2)) );
);
Show( factors );&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 25 Apr 2023 19:50:39 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626045#M82479</guid>
      <dc:creator>lazzybug</dc:creator>
      <dc:date>2023-04-25T19:50:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626307#M82509</link>
      <description>&lt;P&gt;I think that there is a more elegant and robust approach. See the end of this example for the approach of which I am thinking.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default to Here( 1 );

// JMP Pro 16.2

// start with example of a model script
model = Expr(
	Fit Group(
		Fit Model(
			Y( :"SILICA (%)"n ),
			Effects( :ELONG, :"HARDNESS(+/-0.2)"n ),
			Personality( "Standard Least Squares" ),
			Emphasis( "Minimal Report" ),
			Run(
				Profiler(
					1,
					Confidence Intervals( 1 ),
					Term Value(
						ELONG( 417.5, Lock( 0 ), Show( 1 ) ),
						"HARDNESS(+/-0.2)"n( 69.775, Lock( 0 ), Show( 1 ) )
					)
				),
				:"SILICA (%)"n &amp;lt;&amp;lt; {Summary of Fit( 1 ), Analysis of Variance( 1 ),
				Parameter Estimates( 1 ), Effect Tests( 0 ), Effect Details( 0 ),
				Lack of Fit( 0 ), Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ),
				Plot Regression( 0 ), Plot Residual by Predicted( 0 ),
				Plot Studentized Residuals( 1 ), Plot Effect Leverage( 0 ),
				Plot Residual by Normal Quantiles( 1 ), Box Cox Y Transformation( 0 ),
				Press( 1 )}
			)
		),
		Fit Model(
			Y( :SILANE Value ),
			Effects(
				:"ABRASION For example (%)"n, :MODULUS, :ELONG, :"HARDNESS(+/-0.2)"n,
				:MODULUS * :ELONG
			),
			Personality( "Standard Least Squares" ),
			Emphasis( "Minimal Report" ),
			Run(
				Profiler(
					1,
					Confidence Intervals( 1 ),
					Term Value(
						"ABRASION For example (%)"n( 133.1, Lock( 0 ), Show( 1 ) ),
						MODULUS( 1255, Lock( 0 ), Show( 1 ) ),
						ELONG( 417.5, Lock( 0 ), Show( 1 ) ),
						"HARDNESS(+/-0.2)"n( 69.775, Lock( 0 ), Show( 1 ) )
					)
				),
				:SILANE Value &amp;lt;&amp;lt; {Summary of Fit( 1 ), Analysis of Variance( 1 ),
				Parameter Estimates( 1 ), Effect Tests( 0 ), Effect Details( 0 ),
				Lack of Fit( 0 ), Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ),
				Plot Regression( 0 ), Plot Residual by Predicted( 0 ),
				Plot Studentized Residuals( 1 ), Plot Effect Leverage( 0 ),
				Plot Residual by Normal Quantiles( 1 ), Box Cox Y Transformation( 0 ),
				Press( 1 )}
			)
		),
		Fit Model(
			Y( :SULFUR ),
			Effects( :ELONG ),
			Personality( "Standard Least Squares" ),
			Emphasis( "Minimal Report" ),
			Run(
				Profiler(
					1,
					Confidence Intervals( 1 ),
					Term Value( ELONG( 417.5, Lock( 0 ), Show( 1 ) ) )
				),
				:SULFUR &amp;lt;&amp;lt; {Summary of Fit( 1 ), Analysis of Variance( 1 ),
				Parameter Estimates( 1 ), Effect Tests( 0 ), Effect Details( 0 ),
				Lack of Fit( 0 ), Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ),
				Plot Regression( 0 ), Plot Residual by Predicted( 0 ),
				Plot Studentized Residuals( 1 ), Plot Effect Leverage( 0 ),
				Plot Residual by Normal Quantiles( 1 ), Box Cox Y Transformation( 0 ),
				Press( 1 )}
			)
		),
		&amp;lt;&amp;lt;{Profiler(
			1,
			Confidence Intervals( 1 ),
			Term Value(
				ELONG( 417.5, Lock( 0 ), Show( 1 ) ),
				"HARDNESS(+/-0.2)"n( 69.775, Lock( 0 ), Show( 1 ) ),
				"ABRASION For example (%)"n( 133.1, Lock( 0 ), Show( 1 ) ),
				MODULUS( 1255, Lock( 0 ), Show( 1 ) )
			)
		)}
	);
);

// last argument is in-line message send for Profiler
last = N Arg( model );
profilerExpr = Arg( model, last );

// unwrap Send() and its list argument
profilerExpr = Arg( profilerExpr, 1 )[1];

// find term values
termVals = Associative Array();
termExpr = Arg( profilerExpr, 3 );
nArgs = N Arg( termExpr );
For( i = 1, i &amp;lt;= nArgs, i++,
	Insert Into( termVals,
		Char( Head( Arg( termExpr, i ) ) ),
		Arg( Arg( termExpr, i ), 1 )
	)
);

// use resulting dictionary for term values
Show( termVals );&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 26 Apr 2023 14:19:52 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626307#M82509</guid>
      <dc:creator>Mark_Bailey</dc:creator>
      <dc:date>2023-04-26T14:19:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626386#M82522</link>
      <description>&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/5358"&gt;@Mark_Bailey&lt;/a&gt;&amp;nbsp;Your solution is great and much easier than mine. Thank you so much for your help.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But I got another problem with this method. Can you help me out?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;factors = {"Kilometer (kg)"n, "Temperature (ºC)"n};
responses_sim = "";
values = {1.23,2.34};
for (i=1, i&amp;lt;=N Items(factors), i++,
	responses_sim = responses_sim || factors[i] || "&amp;lt;&amp;lt; Add Random Noise(" || char(values[i]) || "),"
);

show(responses_sim);

responses_sim = "Kilometer (kg)&amp;lt;&amp;lt; Add Random Noise(1.23),Temperature (ºC)&amp;lt;&amp;lt; Add Random Noise(2.34),";
&lt;BR /&gt;&lt;FONT face="arial black,avant garde" size="5"&gt;&lt;STRONG&gt;I want to get this result below, how to do it?&lt;/STRONG&gt;&lt;/FONT&gt;
responses_sim = "Kilometer (kg)"n &amp;lt;&amp;lt; Add Random Noise(1.23), "Temperature (ºC)"n &amp;lt;&amp;lt; Add Random Noise(2.34),"&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Apr 2023 15:58:03 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626386#M82522</guid>
      <dc:creator>lazzybug</dc:creator>
      <dc:date>2023-04-27T15:58:03Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626768#M82550</link>
      <description>&lt;P&gt;What you show at the end as your desired value of the variable &lt;STRONG&gt;str&lt;/STRONG&gt; is &lt;U&gt;not&lt;/U&gt; a string.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How will you use &lt;STRONG&gt;str&lt;/STRONG&gt; in your script? Will it be an argument to a function?&lt;/P&gt;</description>
      <pubDate>Thu, 27 Apr 2023 13:18:59 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626768#M82550</guid>
      <dc:creator>Mark_Bailey</dc:creator>
      <dc:date>2023-04-27T13:18:59Z</dc:date>
    </item>
    <item>
      <title>Re: How to use JSL to find X variable range to meet spec limit by fixing other variables in Prediction Profiler?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626843#M82554</link>
      <description>&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/5358"&gt;@Mark_Bailey&lt;/a&gt;&amp;nbsp;str is just a variable name, during my code below I actually used random_sim and responses_sim, by chaning this two variables in my for loop, I can simulate all factors once a time. The code I used before to extract Y and Term Value have "\! in the string, but your way to extract argument doesn't have "\!, which is the only difference.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;			simu model script = Parse(
				Eval Insert(
					"\[
				simobj &amp;lt;&amp;lt; Simulator(
				1,
				Factors( ^random_sim^),
				Responses( ^responses_sim^ ),
				Resimulate
				);
				]\"
				)
			);
			Show( simu model script );
			Eval( simu model script );&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 27 Apr 2023 15:56:20 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-use-JSL-to-find-X-variable-range-to-meet-spec-limit-by/m-p/626843#M82554</guid>
      <dc:creator>lazzybug</dc:creator>
      <dc:date>2023-04-27T15:56:20Z</dc:date>
    </item>
  </channel>
</rss>

