cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Check out the JMP® Marketplace featured Capability Explorer add-in
Choose Language Hide Translation Bar
aliegner1
Level IV

Name Unresolved. Works when I re-do script but not in original script??

So I have a script that is creating YbyX plots, doing a Tukey T-Test, then creating a combined dt with the p-Values, then selecting and excluding based on the p-Value.

 

I currently have it embedded inside a dt << New Script() function to save it to the source data table.

 

I'm not sure what is going on but when I get to the section to select the p-Values, I get this error:

dt1 << select where("p-Value"n > 0.05);

Name Unresolved: p-Value at row 1 in access or evaluation of 'p-Value' , "p-Value"n /*###*/

 

The weird thing is that when I copy this to a blank, new script window and run this manually, it works. I'm not sure what is going on or why. Any ideas?

 

//need to force it to use a certain file name AND force SPC script to label dt appropriately
dtSPC = current data table();
dtSPC << set name( "SPC Data");

/*plotting a basic Fit YbyX just to get pValues. Formatting and style done on final plot*/
ow1 = Oneway(
	Y( :MEAN ),
	X( :TOOL_PROCESS_CHAMBER ),
	By(Chart_ID,),
	
	//All pairs Tukey HSD test
	All Pairs(
		1,
		Confidence Quantile( 0 ),
		Difference Matrix( 0 ),
		LSD Threshold Matrix( 0 ),
		Connecting Letters Report( 0 ),
		Ordered Differences Report( 1 )
	),
	
	SendToReport(
		//x-axis formatting
		Dispatch(
			{},
			"2",
			ScaleBox,
			{Label Row(
				{Label Orientation( "Angled" ), Lower Frame( 1 ),
				Show Major Grid( 1 ), Tick Mark Style( "Long Divider" )}
				)
			}
		),
		
		//row legend by chamber
		Dispatch(
			{},
			"Oneway Plot",
			FrameBox,
			{Marker Size( 6 ), Marker Drawing Mode( "Normal" ),
			Row Legend(
				:Chamber,
				Color( 1 ),
				Color Theme( "JMP Default" ),
				Marker( 0 ),
				Marker Theme( "" ),
				Continuous Scale( 0 ),
				Reverse Scale( 0 ),
				Excluded Rows( 0 )
				)
			}
		)
	)
);
/***********************************/

/***********************************/
// Create the combined data table of Summary Statistics
dt1 = Report( ow1[1] )["Means Comparisons", "Comparisons for all pairs using Tukey-Kramer HSD","Ordered Differences Report"][Table Box( 1 )] << Make Combined Data Table;

dt1 = current data table();
dt1 << set name( "pValue PairWise by Channel Tukey");

dt1:Chart_ID << Data type( Numeric ) << Set Modeling Type( Nominal );
/***********************************/

/**********************************/
//Screen and show only the Channel_ID's w/ a Tukey pair pVal<0.05

//exclude all high pVal rows, leaving only low pVal Channels. Does not work in reverse.
dt1 << select where("p-Value"n > 0.05);
dt1 << exclude;
dt1 << clear select;

//create a list of remaining Unique Chart_ID
summarize(dt1, uniqueVals=by(:Chart_ID));
//Convert to numeric
For( i = 1, i <= N Items(uniqueVals ), i++,
	uniqueVals[i] = Num(uniqueVals[i] )
);

//extra, just to look at the data
//dtUnique = New Table( "uniqueVals less 0.05");
//dtUnique << New Column( "Chart_ID", Values(uniqueVals));

//select on SPC source data just the channels w/ low pVals
//need to choose SPC data table
dtSPC << clear select;
dtSPC << select where( contains( uniqueVals, :Chart_ID));

//invert and exclude, leaving only low pVal Chart_ID's
dtSPC << invert row selection << exclude;
dtSPC << clear select;

//close old stuff
close(dt1);
ow1 << close window;

 

 

 

1 REPLY 1
txnelson
Super User

Re: Name Unresolved. Works when I re-do script but not in original script??

Try changing your reference on line 58 from

dt1 = Current Data Table();

to

current data table( dt1 );

The difference is that in the first statement, you are setting the value of dt1, to whatever the current data table is, and JMP may not be pointing to the table you thing.  The second statement, declares to JMP to set dt1 as the current data table.

Jim