cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Don’t miss your chance to experience Discovery Summit Europe at our best available rate! Early bird registration through 31 Oct.
  • Image to Table JMP extension imports single or batch images as data tables. Useful to extract curves from pictures or convert image data to curve data to use in analyses like Functional Data Explorer. Download and install the extension.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
JB-2
Level I

Issue defining cell value as variable

Hi,

I want to use values from one datatable as reference lines on a Variability plot based on a separate datatable. My current code is below, it hopefully makes sense as shared. I am using JMP 15.2

 

My issue is that when I run all of this at once, I do not get any reference lines on my plot.

However, if I first run only the section before '//SPLIT POINT' and then separately run the section after '//SPLINT POINT', it works without issue (reference lines are visible on my plot).

 

A final point is that if I use 

Target = dt1_spec_limits::Name( "data_column_A" )[1]

instead of 

Target = dt1_spec_limits:Name("Graph_Target_line")[1]

the reference line shows on the plot, even when the whole script is run as one. So I think it is something to do with the calculations updating in the datatable?

 

Any insights would be greatly appreciated, thanks.

 

//join two datatables to create table of spec limits
dt1_spec_limits = dt1_mean_join <<
Join(
With( dt1_std_join ),
By Matching Columns( :Join = :Join ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 )
)
;
//calculate the Target, USL and LSL values
New Column( "Graph_Target_line",
Numeric,
"Continuous",
Format( "Best", 6 ),
Formula( :Name( "data_column_A" ) )
)
;
New Column( "Graph_USL",
Numeric,
"Continuous",
Format( "Best", 6 ),
Formula(
:Name( "data_column_A" ) + 3.15 *
:Name( "data_column_B" )
)
)
;
New Column( "Graph_LSL",
Numeric,
"Continuous",
Format( "Best", 6 ),
Formula(
:Name( "data_column_A" ) - 3.15 *
:Name( "data_column_B" )
)
)
;
//SPLIT POINT
//assign the variables to be used in the Variability plot
USL = dt1_spec_limits :Name("Graph_USL")[1]
;
LSL = dt1_spec_limits:Name("Graph_LSL")[1]
;
Target = dt1_spec_limits:Name("Graph_Target_line")[1]
;
//Plot based on data from one table with the reference lines based on above
Current data table(dt1_plotting_data)
;
Variability Chart(
Y( :Name( "column_1" ) ),
X( :Equipment, :Date, :Time ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Std Dev Chart( 0 ),
SendToReport(
Dispatch(
{"Variability Chart for column_1"},
"2",
ScaleBox,
{
Add Ref Line( 0, "Dotted", "Medium Light Gray", "", 1 ),
Add Ref Line( Target, "Solid", "Medium Dark Green", "Target", 1 ),
Add Ref Line( USL, "Solid", "Medium Dark Red", "USL", 1 ),
Add Ref Line( LSL, "Solid", "Medium Dark Red", "LSL", 1 )}
),
Dispatch(
{"Variability Chart for column_1"},
"Variability Chart",
FrameBox,
{Row Legend(
Tool_MM,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
)
1 ACCEPTED SOLUTION

Accepted Solutions
txnelson
Super User

Re: Issue defining cell value as variable

I suspect that your dt1_spec_limits data table is not completed before the Variability Chart is run.  Try adding 

Wait( 0 );

just before the // SPLIT POINT.

Jim

View solution in original post

2 REPLIES 2
txnelson
Super User

Re: Issue defining cell value as variable

I suspect that your dt1_spec_limits data table is not completed before the Variability Chart is run.  Try adding 

Wait( 0 );

just before the // SPLIT POINT.

Jim
JB-2
Level I

Re: Issue defining cell value as variable

Thanks very much

 

Recommended Articles