<?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 Temporary Data Table (?) to Replicate t=0 Data for Graph Builder in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Creating-Temporary-Data-Table-to-Replicate-t-0-Data-for-Graph/m-p/358116#M60825</link>
    <description>&lt;P&gt;Jim,&lt;/P&gt;&lt;P&gt;Thank you so much. This is exactly the graphic I am looking to create.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there any way to keep the data tables and reports that underly the final graphic from displaying? The data tables that I am creating will be used by scientists with little to no JMP experience. I'm trying to help them focused on the science by visualizing their data quickly and want to keep the process as "hidden" as possible. There will be several other scripts just like this saved to the data table (each script showing a different product attribute), so I am concerned that the growing number of windows will be overwhelming.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Again, thank you so much. I so appreciate your assistance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Beth.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 11 Feb 2021 13:34:47 GMT</pubDate>
    <dc:creator>FAS</dc:creator>
    <dc:date>2021-02-11T13:34:47Z</dc:date>
    <item>
      <title>Creating Temporary Data Table (?) to Replicate t=0 Data for Graph Builder</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-Temporary-Data-Table-to-Replicate-t-0-Data-for-Graph/m-p/357936#M60809</link>
      <description>&lt;P&gt;I am trying to use Graph Builder to visualize stability data. I have run into two issues with the existing data table and Graph Builder script/report that I would appreciate any suggestions to address!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In this first case, I need to create a temporary data table that reassigns the stability condition "Ambient" as "0 month" data at each of the other stability conditions (25/60, 30/65 and 40/75). In the report below, you can see that Ambient is in its own category which is an awkward way of thinking about initial testing results. I do not want to change the actual data table that a user would input data into; I am only trying to graphically replicate the t=0 Ambient data for each condition (25/60, 30/65 and 40/75).&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="FAS_1-1612988523785.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/30163i34AFB7849C4523CB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="FAS_1-1612988523785.png" alt="FAS_1-1612988523785.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the second case, I am just trying to size the "Ambient" category so that there isn't so much dead space before the next category (25/60) begins. In this data set, "Ambient" can only occur at t=0, so there is no reason for the other months (x-axis) to appear.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="FAS_2-1612988747674.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/30165i03760A0DBDA86765/image-size/medium?v=v2&amp;amp;px=400" role="button" title="FAS_2-1612988747674.png" alt="FAS_2-1612988747674.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance!&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>Sun, 11 Jun 2023 11:10:59 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-Temporary-Data-Table-to-Replicate-t-0-Data-for-Graph/m-p/357936#M60809</guid>
      <dc:creator>FAS</dc:creator>
      <dc:date>2023-06-11T11:10:59Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Temporary Data Table (?) to Replicate t=0 Data for Graph Builder</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-Temporary-Data-Table-to-Replicate-t-0-Data-for-Graph/m-p/358085#M60821</link>
      <description>&lt;P&gt;I have the solution for your first question, but it is too late at night for me to work on the second question.&amp;nbsp; If possible, I will work on it tomorrow.&lt;/P&gt;
&lt;P&gt;But here is the first questions solution, to replicate all of the Ambient 0 data to all of the other Storage conditions.&lt;/P&gt;
&lt;P&gt;Interactively, here is what you would do:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Select all of the Ambient rows in the data table&lt;/LI&gt;
&lt;LI&gt;Create a new data table using&amp;nbsp; &amp;nbsp; Tables=&amp;gt;Subset&amp;nbsp; &amp;nbsp;that contains only the Ambient data&lt;/LI&gt;
&lt;LI&gt;Delete the Stability Condition column....it is no longer needed as will be seen below&lt;/LI&gt;
&lt;LI&gt;Using the original data table, run the Summary Platform&amp;nbsp; &amp;nbsp; Tables=&amp;gt;Summary
&lt;OL&gt;
&lt;LI&gt;Select the Stability Condition column as the Grouping column&lt;/LI&gt;
&lt;LI&gt;Click OK&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;LI&gt;Delete the N Rows column from the new data table....it is not needed&lt;/LI&gt;
&lt;LI&gt;Delete the row that has Ambient as the Stability Condition value.&lt;/LI&gt;
&lt;LI&gt;Now, by using a Cartesian Join, we can create all possible combinations of the rows in the subsetted Ambien data table with the rows in the summary data table. To do this, go to the summarized data table and select&amp;nbsp; &amp;nbsp; &amp;nbsp;Tables=&amp;gt;Join.
&lt;OL&gt;
&lt;LI&gt;&amp;nbsp;Select the Ambient data table as the data table to join with the summarized table&lt;/LI&gt;
&lt;LI&gt;Click on the "By Matching Columns" pull down box and select "Cartesian Join"&lt;/LI&gt;
&lt;LI&gt;Click on OK&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;LI&gt;Now we next have to create a subset of the original data table that has all of the non ambient rows.
&lt;OL&gt;
&lt;LI&gt;Go to one of the Ambient rows and right click on the cell that has the Ambient value and right click and select "Select Matching Cells".&lt;/LI&gt;
&lt;LI&gt;We now want to Invert the row selection, so go to the row state column(the column that has the row numbers) and right click on one of the selected rows, and select " Invert Selection"&lt;/LI&gt;
&lt;LI&gt;Using the&amp;nbsp; &amp;nbsp; &amp;nbsp;Tables=&amp;gt;Subset&amp;nbsp; pull down menu, create a subset that has all columns, but only the selected rows.&lt;/LI&gt;
&lt;LI&gt;The last step is to put together this new subset, with the data table that was generated by the Cartesian Join.
&lt;OL&gt;
&lt;LI&gt;Go to&amp;nbsp; &amp;nbsp; &amp;nbsp;Tables=&amp;gt;Concatenate&lt;/LI&gt;
&lt;LI&gt;Select as the data table of be concatenated, the Cartesian Join data table&lt;/LI&gt;
&lt;LI&gt;Check the "Append to first table" check box&lt;/LI&gt;
&lt;LI&gt;Click on OK&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;LI&gt;Now you can run the Graph Builder Platform and create the graph you want&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ambient.PNG" style="width: 698px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/30178i07D00EBCB967B27C/image-size/large?v=v2&amp;amp;px=999" role="button" title="ambient.PNG" alt="ambient.PNG" /&gt;&lt;/span&gt;&lt;/LI&gt;
&lt;LI&gt;Below is a script that creates an Example data table, and then using JSL walks through the steps as defined above, and creates the new subset data table&lt;/LI&gt;
&lt;LI&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;names default to here( 1 );

/*****************************************************************************/
// Create a sample data table and original graphs
/*****************************************************************************/
dt = new table(
	"Example",
	New Column( "Months of Storage" ),
	New Column( "Stability Condition", character ),
	New Column( "Lot", character ),
	New Column( "API001 %LC",format("Percent",4,0) )
);
MoList = {0, 3, 6, 9, 12, 18};
StabList = {"Ambient", "25/60", "30/65", "40/75"};
LotList = {"001", "002", "003", "004", "005", "006"};

For( m = 1, m &amp;lt;= N Items( MoList ), m++,
	For( s = 1, s &amp;lt;= N Items( StabList ), s++,
		For( l = 1, l &amp;lt;= N Items( LotList ), l++,
			For( i = 1, i &amp;lt;= 16, i++,
				dt &amp;lt;&amp;lt; add rows( 1 );
				:Months of Storage[N Rows( dt )] = MoList[m];
				:Stability Condition[N Rows( dt )] = StabList[s];
				:Lot[N Rows( dt )] = LotList[l];
				:Name( "API001 %LC" )[N Row( dt )] = Random Integer( 65, 110 ) / 100;
			)
		)
	)
);

dt &amp;lt;&amp;lt; select where( :Months of Storage == 0 &amp;amp; :Stability Condition != "Ambient");
dt &amp;lt;&amp;lt; delete rows;
dt &amp;lt;&amp;lt; select where( : Stability Condition == "Ambient" &amp;amp; :Months of Storage !=0);
dt &amp;lt;&amp;lt; delete rows;

dt:stability condition &amp;lt;&amp;lt; set property("value order",{Custom Order( {"Ambient", "25/60", "30/65", "40/75"} )});

dt &amp;lt;&amp;lt; Graph Builder(
	Size( 570, 488 ),
	Show Control Panel( 0 ),
	Variables(
		X( :Lot ),
		Y( :API001 %LC ),
		Group X( :Months of Storage ),
		Group Y( :Stability Condition )
	),
	Elements( Points( X, Y, Legend( 7 ), Jitter( "None" ) ) )
);
dt &amp;lt;&amp;lt; Graph Builder(
	Size( 570, 492 ),
	Show Control Panel( 0 ),
	Variables(
		X( :Months of Storage ),
		Y( :API001 %LC ),
		Group X( :Stability Condition ),
		Group Y( :Lot )
	),
	Elements( Points( X, Y, Legend( 7 ) ) )
);

// End of initial data table creation and original chart creation

/*****************************************************************************/
// Replicate the Ambient Month 0  values to all levels of Stability Condition 
/*****************************************************************************/

// Create a new data table of just the Anbient data
dt &amp;lt;&amp;lt; select where(:Stability Condition == "Ambient");
dtAmb = dt &amp;lt;&amp;lt; subset( selected rows(1), selected columns(0));
// Delete the Stability Condition column 
dtAmb &amp;lt;&amp;lt; delete columns(:Stability Condition);

// Use the Summary Platform to create a table with just the unique Stability Condition values
dtSum = dt &amp;lt;&amp;lt; Summary(
	Group( :Stability Condition ),
	Freq( "None" ),
	Weight( "None" )
);
// Delete the N Rows Column;
dtSum &amp;lt;&amp;lt; delete columns(:N Rows);
// Delete the Ambient row
dtSum &amp;lt;&amp;lt; select where(:Stability Condition == "Ambient");
dtSum &amp;lt;&amp;lt; delete rows;

// Change all of the 

// Cartesian Join of the tables to generate all combinations of the two tables
dtJoin = dtSum &amp;lt;&amp;lt;
Join( With( dtAmb ), Cartesian Join );

// Now create a subset data table from the original data table with all non ambient rows
dt &amp;lt;&amp;lt; select where( :Stability Condition != "Ambient");
dtNoAmbient = dt &amp;lt;&amp;lt; subset(selected rows(1), selected columns(0));

// Concatenate the non ambient data with the data from the cartiesian data
dtNoAmbient &amp;lt;&amp;lt; concatenate(dtJoin, append to first table);

// Create the Graph Builder map with the new data table
dtNoAmbient &amp;lt;&amp;lt; Graph Builder(
	Size( 570, 488 ),
	Show Control Panel( 0 ),
	Variables(
		X( :Lot ),
		Y( :API001 %LC ),
		Group X( :Months of Storage ),
		Group Y( :Stability Condition )
	),
	Elements( Points( X, Y, Legend( 7 ), Jitter( "None" ) ) )
);

// Clean up the no longer needed data tables
close( dtAmb, nosave );
close( dtSum, nosave );
close( dtJoin, nosave );&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;/OL&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;
&lt;P&gt;&amp;nbsp;&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>Thu, 11 Feb 2021 07:02:38 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-Temporary-Data-Table-to-Replicate-t-0-Data-for-Graph/m-p/358085#M60821</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2021-02-11T07:02:38Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Temporary Data Table (?) to Replicate t=0 Data for Graph Builder</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-Temporary-Data-Table-to-Replicate-t-0-Data-for-Graph/m-p/358116#M60825</link>
      <description>&lt;P&gt;Jim,&lt;/P&gt;&lt;P&gt;Thank you so much. This is exactly the graphic I am looking to create.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there any way to keep the data tables and reports that underly the final graphic from displaying? The data tables that I am creating will be used by scientists with little to no JMP experience. I'm trying to help them focused on the science by visualizing their data quickly and want to keep the process as "hidden" as possible. There will be several other scripts just like this saved to the data table (each script showing a different product attribute), so I am concerned that the growing number of windows will be overwhelming.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Again, thank you so much. I so appreciate your assistance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Beth.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Feb 2021 13:34:47 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-Temporary-Data-Table-to-Replicate-t-0-Data-for-Graph/m-p/358116#M60825</guid>
      <dc:creator>FAS</dc:creator>
      <dc:date>2021-02-11T13:34:47Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Temporary Data Table (?) to Replicate t=0 Data for Graph Builder</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-Temporary-Data-Table-to-Replicate-t-0-Data-for-Graph/m-p/358170#M60829</link>
      <description>&lt;P&gt;The Subset, Summary, etc. platforms have an "invisible" option that can be used, which will hid them from the user.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is documented in the Scripting Index and in the Scripting Guide, both available under the Help pull down menu.&amp;nbsp; I strongly suggest that you take the time to read the Scripting Guide.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Feb 2021 15:33:01 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-Temporary-Data-Table-to-Replicate-t-0-Data-for-Graph/m-p/358170#M60829</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2021-02-11T15:33:01Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Temporary Data Table (?) to Replicate t=0 Data for Graph Builder</title>
      <link>https://community.jmp.com/t5/Discussions/Creating-Temporary-Data-Table-to-Replicate-t-0-Data-for-Graph/m-p/359844#M60981</link>
      <description>&lt;P&gt;Thanks, Jim.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I appreciate your feedback. I took the 5-day scripting class and have reviewed the scripting guide many, many times. Unfortunately, none of that has really been helpful to myself or other colleagues. Examples are not relevant to what we are doing or not easy to interpret for our application. We are scientists simply trying to visualize data in a way that is consistent with industry standards and were instructed at purchase that the GUI would "teach" us would we needed to know. This hasn't been the case and many, many of us are exceptionally frustrated that we need a superuser like yourself to approach basic data visualizations that we all agree are useful. Apparently, these visualizations are not "basic" nor is the JSL language within our ability to program readily. It's too bad, really, such an opportunity missed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks again for your assistance. You are obviously very skilled and have a real talent for scripting.&lt;/P&gt;</description>
      <pubDate>Wed, 17 Feb 2021 21:03:19 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Creating-Temporary-Data-Table-to-Replicate-t-0-Data-for-Graph/m-p/359844#M60981</guid>
      <dc:creator>FAS</dc:creator>
      <dc:date>2021-02-17T21:03:19Z</dc:date>
    </item>
  </channel>
</rss>

