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
razmah
Level II

How to select a column with specific name?

Hi

Assume I have a table with columns 1-10.

then I have a 3 variables. for example A=2, B=7, C=10

I want to write a script to select columns with amounts of A, B, and C and plot it vs col.1.

here it should select columns of 2, 7, and 10 and use overlay plot to plot it vs column1.

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
Eric_Hill
Staff

Re: How to select a column with specific name?

Selecting columns by name is easy enough:

dt = Current Data Table();

a = 2;

b = 7;

c = 9;

Column( dt, Char( a ) ) << Set Selected;

Column( dt, Char( b ) ) << Set Selected;

Column( dt, Char( c ) ) << Set Selected;

But I'm not sure you need to select them to create the overlay plot you are looking for.  You can just do this:

Overlay Plot( X( :Name( "1" ) ), Y( Column( dt, Char(a) ), Column( dt, Char(b) ),

   Column( dt, Char(c) ) ) );

If you have a variable number of Y variables, you can construct a list of them and set that list as the Y variables for overlay plot:

colList = {};

colList = Insert( colList, Column( dt, Char( a ) ) );

colList = Insert( colList, Column( dt, Char( b ) ) );

colList = Insert( colList, Column( dt, Char( c ) ) );

Overlay Plot( X( :Name( "1" ) ), Y( EvalList(colList) ) );

HTH,

Eric

View solution in original post

3 REPLIES 3
Eric_Hill
Staff

Re: How to select a column with specific name?

Selecting columns by name is easy enough:

dt = Current Data Table();

a = 2;

b = 7;

c = 9;

Column( dt, Char( a ) ) << Set Selected;

Column( dt, Char( b ) ) << Set Selected;

Column( dt, Char( c ) ) << Set Selected;

But I'm not sure you need to select them to create the overlay plot you are looking for.  You can just do this:

Overlay Plot( X( :Name( "1" ) ), Y( Column( dt, Char(a) ), Column( dt, Char(b) ),

   Column( dt, Char(c) ) ) );

If you have a variable number of Y variables, you can construct a list of them and set that list as the Y variables for overlay plot:

colList = {};

colList = Insert( colList, Column( dt, Char( a ) ) );

colList = Insert( colList, Column( dt, Char( b ) ) );

colList = Insert( colList, Column( dt, Char( c ) ) );

Overlay Plot( X( :Name( "1" ) ), Y( EvalList(colList) ) );

HTH,

Eric

pmroz
Super User

Re: How to select a column with specific name?

If you want to use column 1 as x, and columns 2, 7, and 10 as Y, regardless of their names, then this will do the trick:

dt = current data table();

xc = 1;    // column 1

a = 2;     // column 2

b = 7;     // column 7

c = 9;     // column 9

overlay plot(x(column(xc)), y(column(a), column(b), column(c)));

razmah
Level II

Re: How to select a column with specific name?

Hi Eric,

I have another question looks like last one:

columns a, b, c are variables; how can I add new column and give it a formula by use of a,b, and c?

I wrote following script but column doesn't show the formula.

New Column( "a /b",Numeric,Continuous,Format( "Best", 12 ),

Formula( :column(char(a)) /  :column( char(b)) ));

thank you for your recommendation

Recommended Articles