Subscribe Bookmark RSS Feed

Copying column properties from one data table to another

lou

Community Trekker

Joined:

Oct 15, 2014


Does anyone have a JSL script that will copy column properties from one data table to 'same name' columns in another data table?

4 REPLIES
Wendy_Murphrey

Joined:

Jun 23, 2011

Lou,

The following demonstrates how you can copy the column properties from one table to another, assuming the column names are the same.


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


colNames = dt << Get Column Names( String );





nt = New Table( "New Tires",


  New Column( "ABRASION", Numeric, Continuous, Format( "Best", 10 ) ),


  New Column( "MODULUS", Numeric, Continuous, Format( "Best", 10 ) ),


  New Column( "ELONG", Numeric, Continuous, Format( "Best", 10 ) ),


  New Column( "HARDNESS", Numeric, Continuous, Format( "Best", 10 ) ),


  New Column( "SILICA", Numeric, Continuous, ),


  New Column( "SILANE", Numeric, Continuous, Format( "Best", 10 ) ),


  New Column( "SULFUR", Numeric, Continuous, Format( "Best", 10 ) ),


  New Column( "Pred Formula ABRASION", Numeric, Continuous, Format( "Best", 10 ) ),


  New Column( "Pred Formula MODULUS", Numeric, Continuous, Format( "Best", 10 ) ),


  New Column( "Pred Formula ELONG", Numeric, Continuous, Format( "Best", 10 ) ),


  New Column( "Pred Formula HARDNESS", Numeric, Continuous, Format( "Best", 10 ) )


);



For( i = 1, i <= N Cols( dt ), i++,


  colProps = Column( dt, colNames ) << Get Column Properties;


  Column( nt, colNames ) << Add Column Properties( colProps );


);


Wendy
lou

Community Trekker

Joined:

Oct 15, 2014

Thank you for your help. I was trying to iterate through the two tables, but did not have the correct commands.

It seems like this will work as long as the two tables have the same columns, in the same order. Is this correct?

Lou

ms

Super User

Joined:

Jun 23, 2011

A "quick fix": Put the second line of the loop inside Try() to avoid an error if any columns are missing in the new table (column order should not matter here).

Try( Column( nt, colNames[i] ) << Add Column Properties( colProps ) );

lou

Community Trekker

Joined:

Oct 15, 2014

Thanks for your help. That did the trick! My new table will always be a subset of the ‘master’, and the ‘try’ statement does resolve this issue.

Lou