First, I need to clarify some terminology.
- In data table 1st_file, you have 9 columns
- In data table 1st_file you have 1 row of data for each column. You do not have what JMP refers to as column properties. If you right click on a column header, and select "Column Properties", you will see an extensive list of items that refer to the particular column that you selected.
I mention the above, only because when you used the keywords, Column Property, I immediately went to the idea of JMP Column Properties. That setup a bunch of false assumptions which lead to a bunch of confusion for me.
That aside, here are a couple the large number of ways one can solve you issue
Names Default To Here( 1 );
dt1 = Data Table( "1st_file" );
dt2 = Data Table( "2nd file" );
dt2 << New Column( "Minimum Age" );
// Transpose the data into a standard data table format
dt3 = dt1 << Transpose(
invisible,
columns( :Sam, :Andy, :John, :Ed, :Jonny, :Smith, :Scott, :George, :Mathew ),
Output Table( "Transpose of 1st_file" )
);
Current Data Table( dt3 );
For( i = 1, i <= N Rows( dt2 ), i++,
dt2:Minimum Age[i] = Col Min( If( Contains( dt2:Name[i], dt3:Label ), dt3:Name( "Row 1" ), . ) );
Show( dt2:minimum Age[i] );
);
Close( dt3, nosave );
Take a little more time in processing the data, but a secondary table creation isn''t required.
Names Default To Here( 1 );
dt1 = Data Table( "1st_file" );
dt2 = Data Table( "2nd file" );
dt2 << New Column( "Minimum Age" );
For( i = 1, i <= N Rows( dt2 ), i++,
ages = {};
For( k = 1, k <= N Cols( dt1 ), k++,
If( Contains( dt2:Name[i], (Column( dt1, k ) << get name) ) > 0,
Insert Into( ages, Column( dt1, k )[1] )
);
);
dt2:Minimum Age[i] = Min( ages );
);
Jim