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.
  • Graph Builder Toolbar streamlines interactive graphing. Creates shortcuts on Report and GraphBuilder Helpers toolbars. Download and install the extension.
  • JMP will suspend normal business operations for our Rest and Recharge Day on Friday, October 2, 2026.
    Regular business hours will resume on Monday, October 5, 2026.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
SpannerHead
Level VI

Associate Columns By Name

I got something to work here

 

Solved: Automatically plot associated columns - JMP User Community

 

but I'm pretty sure it's unnecessarily cumbersome.  I have column names ending with the letter H (High) that I need to associate with column names that otherwise match but end with the letter L (Low).  I can create an associative array with the column names having the final character removed.  Snookered as to what to do next?

 

names default to here(1);
dt = Current Data Table();

colList = dt << get column names( string );

for each({col,index}, colList,
	//colList[index] = substr(col,1,3)
	colList[index] = Left(col,Length(col)-1)
);

grps = associative array(colList)<<get keys;

For instance, VT123ABCH needs to plot against VT123ABCL and so forth.


Slán



SpannerHead
10 REPLIES 10
SpannerHead
Level VI

Re: Associate Columns By Name

Jim

 

Great script and a lot simpler.  I tweaked it a bit to have all the plots in a "Compilation" window .

 

Names Default To Here( 1 );
dt = Current Data Table();
colNames = dt << get column names( continuous, string );
New Window( "Compilation",
	For Each( {col}, colNames,
		If(
			Starts With( col, "VT" ) & Contains(
				colNames,
				Substr( col, 1, Length( col ) - 1 ) || "H"
			),
			Graph Builder(
				Size( 534, 456 ),
				Show Control Panel( 0 ),
				Variables(
					X( As Column( col ) ),
					Y( As Column( Substr( col, 1, Length( col ) - 1 ) || "L" ) )
				),
				Wrap( :LOT ),
				Elements(
					Points( X, Y, Legend( 1 ) ),
					Line Of Fit( X, Y, Legend( 3 ) )
				)
			)
		)
	)
);

Slán



SpannerHead

Recommended Articles