cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
0 Kudos

refer to report tablebox by table name

e.g. 

plt = fit model(<params>); rpt = plt << report; rpt(TableBox[7]) << make data table();

but the trouble is if JMP changes or a singularity occurs TableBox[7] changes identity and is no longer the tablebox I'm after for a data table, would prefer e.g. 

crossvalidation_table = rpt(TableBox["Crossvalidation"]) << make data table();

-- if I'm not mistaken, directly assigning the table to a variable as in the e.g. is also a new feature request.

3 Comments
Jeff_Perkinson
Community Manager

A TableBox doesn't have a name, but the OutlineBox does. So, the best practice is to index off of the name of an Outlinebox. In JMP 14, when you right click on a tablebox and Make Into Data Table the resulting data table has a Make into Data Table script that shows how to use the OutlineBox by name to get to the TableBox.

 

JMPScreenSnapz043.png

 

dt = Open( "$SAMPLE_DATA\Big Class.jmp" );

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "Validation",
	Character,
	"Nominal",
	Formula( If( Random Uniform() > 0.2, "0", "1" ) ),
	Value Labels( {"0" = "Training", "1" = "Validation"} ),
	Use Value Labels( 1 ),

);

fm = Fit Model(
	Validation( :Validation ),
	Y( :weight ),
	Effects( :age, :sex, :height ),
	Personality( "Standard Least Squares" ),
	Set Alpha Level( 0.1 ),
	Emphasis( "Effect Leverage" ),
	Run(
		:weight << {Summary of Fit( 1 ), Analysis of Variance( 1 ), Parameter Estimates( 1 ),
		Scaled Estimates( 0 ), Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
		Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ),
		Plot Effect Leverage( 1 ), Plot Residual by Normal Quantiles( 0 ),
		Box Cox Y Transformation( 0 )}
	)
);

rpt = Report( fm );
rpt[Outline Box( "Response weight" )][Outline Box( "Whole Model" )][
Outline Box( "Crossvalidation" )][Table Box( 1 )] << Make Into Data Table;

The script that JMP puts there uses the whole tree of outline boxes. If you're sure there's only one outline box with the name you're interested in you don't need the whole tree:

rpt[Outline Box( "Crossvalidation" )][Table Box( 1 )] << Make Into Data Table;

 

Jeff_Perkinson
Community Manager

I forgot to comment on your 


@benjaminbuck wrote:
crossvalidation_table = rpt(TableBox["Crossvalidation"]) << make data table();

-- if I'm not mistaken, directly assigning the table to a variable as in the e.g. is also a new feature request.


Respectfully, I think you are mistaken. In your example above, assuming the correct syntax as I explained in my earlier post, the variable crossvalidation_table will have a reference to the data table created by the Make Data Table messge. Perhaps I've misunderstood this part of your request though.

Ryan_Gilmore
Community Manager
Status changed to: Archived
We are archiving this request. If this is still important please comment with additional details and we will reopen. Thank you!