Subscribe Bookmark RSS Feed

JMP Script to import data and create control chart

vjalvim

Occasional Contributor

Joined:

Sep 11, 2017

Dear all,

I'm begginer user of JMP (migrating from Minitab) and I'm trying to create a scrip to automatically import some data from excel and create the control charts. Actually either I don't if this is the best way to do that. So I started a script and imported tthe data. After that I created another script to use Control Chart Builder and create the control charts, but when I try to merge the two scripts and create a new one, an error message appears, with this text:

 

Unexpected "Control Chart Builder Variables Subgroup". Perhaps there is a missing ";" or ",".
Line 192 Column 1: ►Control Chart Builder

 

Below the script that I'm trying to do work:

 

New Table( "Furnace 08",

Add Rows( 39 ),

New Script(

"Source",

Open(

"C:\Users\vjalvim\Desktop\01.Production\01.2017\23.New CEP\Controle Estatístico Processo.xlsx",

Worksheets( "Furnace 08" ),

Use for all sheets( 1 ),

Concatenate Worksheets( 0 ),

Create Concatenation Column( 0 ),

Worksheet Settings(

1,

Has Column Headers( 1 ),

Number of Rows in Headers( 1 ),

Headers Start on Row( 1 ),

Data Starts on Row( 2 ),

Data Starts on Column( 1 ),

Data Ends on Row( 0 ),

Data Ends on Column( 0 ),

Replicated Spanned Rows( 1 ),

Suppress Hidden Rows( 1 ),

Suppress Hidden Columns( 1 ),

Treat as Hierarchy( 0 )

)

)

),

New Column( "Date",

Character,

Nominal,

Set Values(

{"January", "February", "March", "April", "May", "June", "July",

"August", "01-Sep", "02-Sep", "03-Sep", "04-Sep", "05-Sep", "06-Sep",

"07-Sep", "08-Sep", "09-Sep", "10-Sep", "11-Sep", "", "", "", "", "", "",

"", "", "", "", "", "", "", "", "", "", "", "", "", ""}

)

),

New Column( "Data",

Character,

Nominal,

Set Values(

{"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho",

"Agosto", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "",

"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",

""}

)

),

New Column( "Produção (ton)",

Numeric,

Continuous,

Format( "Best", 15 ),

Set Values(

[31.2, 25.7, 37.7, 32.2, 37.1, 35.9, 35, 32.6, 41.4, 43, 34.7, 40.4, 41,

39.7, 0, 0, 0, 0, 0, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .,

., ., .]

)

),

New Column( "Consumo Energia (MWh/t)",

Numeric,

Continuous,

Format( "Best", 15 ),

Set Values(

[12131, 16399, 12300, 12085, 12147, 12487, 11992, 11934, 11854, 11521,

12136, 12159, 11385, 11704, ., ., ., ., ., ., ., ., ., ., ., ., ., ., .,

., ., ., ., ., ., ., ., ., .]

)

),

New Column( "OEE (%)",

Numeric,

Continuous,

Format( "Percent", 24, 0 ),

Set Values(

[0.81, 0.47, 0.92, 0.81, 0.92, 0.92, 0.83, 0.89, 0, 0, 0, 0, 0, 0, 0, 1,

1, 1, 1, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]

)

),

New Column( "Balanço Carbono (%)",

Numeric,

Continuous,

Format( "Percent", 24, 0 ),

Set Values(

[1.19, 1.35, 1.24, 1.25, 1.29, 1.24, 1.22, 1.24, 1.25, 1.27, 1.29, 1.21,

1.25, 1.26, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .,

., ., ., ., .]

)

),

New Column( "Deslizamento Eletrodos (cm/MWh)",

Numeric,

Continuous,

Format( "Best", 15 ),

Set Values(

[0.097, 0.113, 0.104, 0.108, 0.105, 0.101, 0.107, 0.104, 0.122, 0.109,

0.097, 0.112, 0.113, 0.107, ., ., ., ., ., ., ., ., ., ., ., ., ., ., .,

., ., ., ., ., ., ., ., ., .]

)

),

New Column( "Acerto - MCS (%)",

Numeric,

Continuous,

Format( "Percent", 24, 0 ),

Set Values(

[0.97, 0.71, 0.91, 0.96, 0.96, 0.97, 0.88, 0.93, 1, 0.93, 0.73, 0.84,

0.92, 0.91, 1, 0, 0, 0, 0, ., ., ., ., ., ., ., ., ., ., ., ., ., ., .,

., ., ., ., .]

)

),

New Column( "Relação Ca / Al (%)",

Numeric,

Continuous,

Format( "Best", 15 ),

Set Values(

[1.946, 3.072, 1.972, 1.814, 2.032, 2.154, 2.258, 2.448, 2.333, 2.533,

2.283, 2.334, 2.218, 1.919, 2.112, ., ., ., ., ., ., ., ., ., ., ., ., .,

., ., ., ., ., ., ., ., ., ., .]

)

),

New Column( "Stage",

Character,

Nominal,

Set Values(

{"Others", "Others", "Others", "Others", "Others", "Others", "Others",

"Others", "September", "September", "September", "September",

"September", "September", "September", "September", "September",

"September", "September", "", "", "", "", "", "", "", "", "", "", "", "",

"", "", "", "", "", "", "", ""}

)

),

New Column( "Ca Boca - Average",

Numeric,

Continuous,

Format( "Best", 15 ),

Set Values(

[., ., ., ., ., ., ., ., 1.363, 1.69, 1.072, 1.194, 1.295, 0.966, 1.417,

., ., ., ., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

)

),

New Column( "Al Boca - Average",

Numeric,

Continuous,

Format( "Best", 15 ),

Set Values(

[., ., ., ., ., ., ., ., 0.584, 0.667, 0.469, 0.512, 0.584, 0.503, 0.671,

., ., ., ., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

)

),

New Column( "Energia",

Numeric,

Continuous,

Format( "Best", 15 ),

Set Values(

[., ., ., ., ., ., ., ., 490765, 495005, 420656, 491418, 466309, 464352,

0, 0, 0, 0, 0, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .,

.]

)

),

New Column( "MCS (kg)",

Numeric,

Continuous,

Format( "Best", 15 ),

Set Values(

[., ., ., ., ., ., ., ., 42360, 39230, 26930, 33391, 38639, 35046, 3450,

0, 0, 0, 0, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]

)

),

New Column( "TCS (kg)",

Numeric,

Continuous,

Format( "Best", 15 ),

Set Values(

[., ., ., ., ., ., ., ., 0, 2780, 9780, 6508, 3455, 3490, 0, 0, 0, 0, 0,

., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]

)

),

New Column( "Total (kg)",

Numeric,

Continuous,

Format( "Best", 15 ),

Set Values(

[., ., ., ., ., ., ., ., 42360, 42010, 36710, 39899, 42094, 38536, 3450,

0, 0, 0, 0, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]

)

),

New Column( "Cm deslizados",

Numeric,

Continuous,

Format( "Best", 15 ),

Set Values(

[., ., ., ., ., ., ., ., 179.5, 162, 122, 165, 157.5, 149, 0, 0, 0, 0, 0,

., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]

)

)

)

Control Chart Builder

Variables

Subgroup( :Date ),

Y(

:Name( "Produção (ton)" ),

:Name( "Consumo Energia (MWh/t)" ),

:Name( "OEE (%)" ),

:Name( "Balanço Carbono (%)" ),

:Name( "Deslizamento Eletrodos (cm/MWh)" ),

:Name( "Acerto - MCS (%)" ),

:Name( "Relação Ca / Al (%)" )

),

Phase( :Stage )

),

Chart( Position( 1 ), Limits( Spec Limits( 1 ) ) ),

Chart( Position( 2 ) ),

SendToReport(

Dispatch(

{},

"Control Chart Builder",

FrameBox,

{DispatchSeg(

TextSeg( 4 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 5 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 6 ),

{Line Color( "None" ), Fill Color( "None" )}

)}

),

Dispatch(

{},

"Control Chart Builder",

FrameBox( 4 ),

{DispatchSeg(

TextSeg( 4 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 5 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 6 ),

{Line Color( "None" ), Fill Color( "None" )}

)}

),

Dispatch(

{},

"Control Chart Builder",

FrameBox( 7 ),

{DispatchSeg(

TextSeg( 4 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 5 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 6 ),

{Line Color( "None" ), Fill Color( "None" )}

)}

),

Dispatch(

{},

"Control Chart Builder",

FrameBox( 10 ),

{DispatchSeg(

TextSeg( 4 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 5 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 6 ),

{Line Color( "None" ), Fill Color( "None" )}

)}

),

Dispatch(

{},

"Control Chart Builder",

FrameBox( 13 ),

{DispatchSeg(

TextSeg( 4 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 5 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 6 ),

{Line Color( "None" ), Fill Color( "None" )}

)}

),

Dispatch(

{},

"Control Chart Builder",

FrameBox( 16 ),

{DispatchSeg(

TextSeg( 4 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 5 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 6 ),

{Line Color( "None" ), Fill Color( "None" )}

)}

),

Dispatch(

{},

"Control Chart Builder",

FrameBox( 19 ),

{DispatchSeg(

TextSeg( 4 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 5 ),

{Line Color( "None" ), Fill Color( "None" )}

), DispatchSeg(

TextSeg( 6 ),

{Line Color( "None" ), Fill Color( "None" )}

)}

)

)

)

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
txnelson

Super User

Joined:

Jun 22, 2012

Solution

The answer to both questions is yes.  The script that you develop can be scheduled to run and update on a time schedule from within JMP.  From a visualization standpoint, your displayed control chart would can be setup to just update in place. See the Schedule() function. JMP also can be setup to connect directly to test equipment and update through a socket for realtime updating.

Concering your desire to save your comments to a journal, JMP has a journal that not only allows you to save the comments, you can also save any of the report output and graphical output to the journal.  You can also annotate on the graphical output to place notes, arrows, etc.  

Given your newness to JMP, I suggest that you take some time to go through a couple of pieces of the documentation(books)

     Help==>Books==>Using JMP

     Help==>Books==>Scripting Guide

Additionally, from a scripting standpoint, the Scripting Index is really the definative source for the details about specific Functions(), Objects and Platforms.  It provides all of the messages that can be passed to and from them, as well as examples of how to execute each of them

     Heip==>Scripting Index

 

Jim
3 REPLIES
txnelson

Super User

Joined:

Jun 22, 2012

You have a couple of issues with your script.  The first one is the error that you are getting, concerning the "Unexpected Control Chart Builder".

JMP uses commas (",") and semicolins (";") as glue or continuation characters.  If in parsing the JSL, the parser comes to an ending parenthsis (")"), the parser stops, and anything following it becomes an unexpected item.

A simple example is:

 

Bivariate( Y(:Height), X(:Sex) )  Bivariate( Y(:Weight ), X(:Sex))

An error code would point to the second "Bivariate" Platform as being Unexpected.  This is because the first Bivariate Platform completed the full definition of the platform, and then without an indication to continue reading, ";", other items appeared.  The correct way to code this is:

 

 

Bivariate( Y(:Height), X(:Sex) ); Bivariate( Y(:Weight ), X(:Sex))

In your script, you ended the data table definition, and then started the Control Chart Builder, without specifying the ";", indicating that after running the data table code, continue on reading.

 

 

After I corrected this issue, there were some syntax issues with the Control Chart Builder JSL.  In the Control Chart Builder() Function and the Variables() paragraph, you dropped the parens that are syntactically required.  See my code for the corrections

New Table( "Furnace 08",
	Add Rows( 39 ),
	New Script(
		"Source",
		Open(
			"C:\Users\vjalvim\Desktop\01.Production\01.2017\23.New CEP\Controle Estatístico Processo.xlsx",
			Worksheets( "Furnace 08" ),
			Use for all sheets( 1 ),
			Concatenate Worksheets( 0 ),
			Create Concatenation Column( 0 ),
			Worksheet Settings(
				1,
				Has Column Headers( 1 ),
				Number of Rows in Headers( 1 ),
				Headers Start on Row( 1 ),
				Data Starts on Row( 2 ),
				Data Starts on Column( 1 ),
				Data Ends on Row( 0 ),
				Data Ends on Column( 0 ),
				Replicated Spanned Rows( 1 ),
				Suppress Hidden Rows( 1 ),
				Suppress Hidden Columns( 1 ),
				Treat as Hierarchy( 0 )
			)
		)
	),
	New Column( "Date",
		Character,
		Nominal,
		Set Values(
			{"January", "February", "March", "April", "May", "June", "July", "August", "01-Sep",
			"02-Sep", "03-Sep", "04-Sep", "05-Sep", "06-Sep", "07-Sep", "08-Sep", "09-Sep",
			"10-Sep", "11-Sep", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
			"", "", "", ""}
		)
	),
	New Column( "Data",
		Character,
		Nominal,
		Set Values(
			{"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "1",
			"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "", "", "", "", "", "", "", "",
			"", "", "", "", "", "", "", "", "", "", "", ""}
		)
	),
	New Column( "Produção (ton)",
		Numeric,
		Continuous,
		Format( "Best", 15 ),
		Set Values(
			[31.2, 25.7, 37.7, 32.2, 37.1, 35.9, 35, 32.6, 41.4, 43, 34.7, 40.4, 41, 39.7, 0, 0,
			0, 0, 0, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]
		)
	),
	New Column( "Consumo Energia (MWh/t)",
		Numeric,
		Continuous,
		Format( "Best", 15 ),
		Set Values(
			[12131, 16399, 12300, 12085, 12147, 12487, 11992, 11934, 11854, 11521, 12136, 12159,
			11385, 11704, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .,
			.]
		)
	),
	New Column( "OEE (%)",
		Numeric,
		Continuous,
		Format( "Percent", 24, 0 ),
		Set Values(
			[0.81, 0.47, 0.92, 0.81, 0.92, 0.92, 0.83, 0.89, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, .,
			., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]
		)
	),
	New Column( "Balanço Carbono (%)",
		Numeric,
		Continuous,
		Format( "Percent", 24, 0 ),
		Set Values(
			[1.19, 1.35, 1.24, 1.25, 1.29, 1.24, 1.22, 1.24, 1.25, 1.27, 1.29, 1.21, 1.25, 1.26,
			., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]
		)
	),
	New Column( "Deslizamento Eletrodos (cm/MWh)",
		Numeric,
		Continuous,
		Format( "Best", 15 ),
		Set Values(
			[0.097, 0.113, 0.104, 0.108, 0.105, 0.101, 0.107, 0.104, 0.122, 0.109, 0.097, 0.112,
			0.113, 0.107, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .,
			.]
		)
	),
	New Column( "Acerto - MCS (%)",
		Numeric,
		Continuous,
		Format( "Percent", 24, 0 ),
		Set Values(
			[0.97, 0.71, 0.91, 0.96, 0.96, 0.97, 0.88, 0.93, 1, 0.93, 0.73, 0.84, 0.92, 0.91, 1,
			0, 0, 0, 0, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]
		)
	),
	New Column( "Relação Ca / Al (%)",
		Numeric,
		Continuous,
		Format( "Best", 15 ),
		Set Values(
			[1.946, 3.072, 1.972, 1.814, 2.032, 2.154, 2.258, 2.448, 2.333, 2.533, 2.283, 2.334,
			2.218, 1.919, 2.112, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .,
			., ., .]
		)
	),
	New Column( "Stage",
		Character,
		Nominal,
		Set Values(
			{"Others", "Others", "Others", "Others", "Others", "Others", "Others", "Others",
			"September", "September", "September", "September", "September", "September",
			"September", "September", "September", "September", "September", "", "", "", "", "",
			"", "", "", "", "", "", "", "", "", "", "", "", "", "", ""}
		)
	),
	New Column( "Ca Boca - Average",
		Numeric,
		Continuous,
		Format( "Best", 15 ),
		Set Values(
			[., ., ., ., ., ., ., ., 1.363, 1.69, 1.072, 1.194, 1.295, 0.966, 1.417, ., ., ., .,
			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
		)
	),
	New Column( "Al Boca - Average",
		Numeric,
		Continuous,
		Format( "Best", 15 ),
		Set Values(
			[., ., ., ., ., ., ., ., 0.584, 0.667, 0.469, 0.512, 0.584, 0.503, 0.671, ., ., ., .,
			0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
		)
	),
	New Column( "Energia",
		Numeric,
		Continuous,
		Format( "Best", 15 ),
		Set Values(
			[., ., ., ., ., ., ., ., 490765, 495005, 420656, 491418, 466309, 464352, 0, 0, 0, 0,
			0, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]
		)
	),
	New Column( "MCS (kg)",
		Numeric,
		Continuous,
		Format( "Best", 15 ),
		Set Values(
			[., ., ., ., ., ., ., ., 42360, 39230, 26930, 33391, 38639, 35046, 3450, 0, 0, 0, 0,
			., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]
		)
	),
	New Column( "TCS (kg)",
		Numeric,
		Continuous,
		Format( "Best", 15 ),
		Set Values(
			[., ., ., ., ., ., ., ., 0, 2780, 9780, 6508, 3455, 3490, 0, 0, 0, 0, 0, ., ., ., .,
			., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]
		)
	),
	New Column( "Total (kg)",
		Numeric,
		Continuous,
		Format( "Best", 15 ),
		Set Values(
			[., ., ., ., ., ., ., ., 42360, 42010, 36710, 39899, 42094, 38536, 3450, 0, 0, 0, 0,
			., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]
		)
	),
	New Column( "Cm deslizados",
		Numeric,
		Continuous,
		Format( "Best", 15 ),
		Set Values(
			[., ., ., ., ., ., ., ., 179.5, 162, 122, 165, 157.5, 149, 0, 0, 0, 0, 0, ., ., ., .,
			., ., ., ., ., ., ., ., ., ., ., ., ., ., ., .]
		)
	)
);
Control Chart Builder(
	Show Capability( 0 ),
	Variables(
		Subgroup( :Date ),
		Y(
			:Name( "Produção (ton)" ),
			:Name( "OEE (%)" ),
			:Name( "Balanço Carbono (%)" ),
			:Name( "Deslizamento Eletrodos (cm/MWh)" ),
			:Name( "Acerto - MCS (%)" ),
			:Name( "Relação Ca / Al (%)" ),
			:Name( "Consumo Energia (MWh/t)" ),
			:Name( "OEE (%)" ),
			:Name( "Balanço Carbono (%)" ),
			:Name( "Deslizamento Eletrodos (cm/MWh)" ),
			:Name( "Acerto - MCS (%)" ),
			:Name( "Relação Ca / Al (%)" )
		),
		Phase( :Stage )
	),
	Chart( Position( 1 ), Limits( Sigma( Moving Range ) ) ),
	Chart( Position( 2 ), Limits( Sigma( Moving Range ) ) ),
	SendToReport(
		Dispatch(
			{},
			"Control Chart Builder",
			FrameBox,
			{DispatchSeg( TextSeg( 4 ), {Line Color( "None" ), Fill Color( "None" )} ), DispatchSeg(
				TextSeg( 5 ),
				{Line Color( "None" ), Fill Color( "None" )}
			), DispatchSeg( TextSeg( 6 ), {Line Color( "None" ), Fill Color( "None" )} )}
		),
		Dispatch(
			{},
			"Control Chart Builder",
			FrameBox( 4 ),
			{DispatchSeg( TextSeg( 4 ), {Line Color( "None" ), Fill Color( "None" )} ), DispatchSeg(
				TextSeg( 5 ),
				{Line Color( "None" ), Fill Color( "None" )}
			), DispatchSeg( TextSeg( 6 ), {Line Color( "None" ), Fill Color( "None" )} )}
		),
		Dispatch(
			{},
			"Control Chart Builder",
			FrameBox( 7 ),
			{DispatchSeg( TextSeg( 4 ), {Line Color( "None" ), Fill Color( "None" )} ), DispatchSeg(
				TextSeg( 5 ),
				{Line Color( "None" ), Fill Color( "None" )}
			), DispatchSeg( TextSeg( 6 ), {Line Color( "None" ), Fill Color( "None" )} )}
		),
		Dispatch(
			{},
			"Control Chart Builder",
			FrameBox( 10 ),
			{DispatchSeg( TextSeg( 4 ), {Line Color( "None" ), Fill Color( "None" )} ), DispatchSeg(
				TextSeg( 5 ),
				{Line Color( "None" ), Fill Color( "None" )}
			), DispatchSeg( TextSeg( 6 ), {Line Color( "None" ), Fill Color( "None" )} )}
		),
		Dispatch(
			{},
			"Control Chart Builder",
			FrameBox( 13 ),
			{DispatchSeg( TextSeg( 4 ), {Line Color( "None" ), Fill Color( "None" )} ), DispatchSeg(
				TextSeg( 5 ),
				{Line Color( "None" ), Fill Color( "None" )}
			), DispatchSeg( TextSeg( 6 ), {Line Color( "None" ), Fill Color( "None" )} )}
		),
		Dispatch(
			{},
			"Control Chart Builder",
			FrameBox( 16 ),
			{DispatchSeg( TextSeg( 4 ), {Line Color( "None" ), Fill Color( "None" )} ), DispatchSeg(
				TextSeg( 5 ),
				{Line Color( "None" ), Fill Color( "None" )}
			), DispatchSeg( TextSeg( 6 ), {Line Color( "None" ), Fill Color( "None" )} )}
		),
		Dispatch(
			{},
			"Control Chart Builder",
			FrameBox( 19 ),
			{DispatchSeg( TextSeg( 4 ), {Line Color( "None" ), Fill Color( "None" )} ), DispatchSeg(
				TextSeg( 5 ),
				{Line Color( "None" ), Fill Color( "None" )}
			), DispatchSeg( TextSeg( 6 ), {Line Color( "None" ), Fill Color( "None" )} )}
		)
	)
);

 

 

Jim
vjalvim

Occasional Contributor

Joined:

Sep 11, 2017

Hi Nelson (coincidence my father's name),

First of all thanks for your quickly answer and to correct the script.

As I mentioned I'm moving from Minitab, and I don't know if I can replicate the same model in JMP.

So, I would like to do other two questions:

 

1) There is a way to refresh the data and the control charts or I need to do all steps every time I need to update the data?

Note: Minitab allows to check the control chart to automatically refresh and connect with the excel file and update the data table automatically too.

 

2) I need to have a space where I can explain when we have outliers, like a logbook. In JMP is a Journal?

 

Thanks again.

txnelson

Super User

Joined:

Jun 22, 2012

Solution

The answer to both questions is yes.  The script that you develop can be scheduled to run and update on a time schedule from within JMP.  From a visualization standpoint, your displayed control chart would can be setup to just update in place. See the Schedule() function. JMP also can be setup to connect directly to test equipment and update through a socket for realtime updating.

Concering your desire to save your comments to a journal, JMP has a journal that not only allows you to save the comments, you can also save any of the report output and graphical output to the journal.  You can also annotate on the graphical output to place notes, arrows, etc.  

Given your newness to JMP, I suggest that you take some time to go through a couple of pieces of the documentation(books)

     Help==>Books==>Using JMP

     Help==>Books==>Scripting Guide

Additionally, from a scripting standpoint, the Scripting Index is really the definative source for the details about specific Functions(), Objects and Platforms.  It provides all of the messages that can be passed to and from them, as well as examples of how to execute each of them

     Heip==>Scripting Index

 

Jim