I think this interactive flow should work:
I have two tables, this small table determines the columns I wish to keep
![jthi_3-1718305321734.png jthi_3-1718305321734.png](https://community.jmp.com/t5/image/serverpage/image-id/65166i29FEED2A031C680F/image-size/medium?v=v2&px=400)
My other table has much more data but I need to just get those columns
![jthi_4-1718305326464.png jthi_4-1718305326464.png](https://community.jmp.com/t5/image/serverpage/image-id/65167iA5173C0DCA86DB04/image-size/medium?v=v2&px=400)
you can use Join to basically overwrite the values is smaller table
![jthi_5-1718305390132.png jthi_5-1718305390132.png](https://community.jmp.com/t5/image/serverpage/image-id/65168iACE945BA84B7BB28/image-size/medium?v=v2&px=400)
With pure script solution it could look something like this. First get the column names from the smaller table into a list using << Get Column Names("String") and then use that list in << Subset()
Names Default To Here(1);
dtbig = Open("$SAMPLE_DATA/Big Class Families.jmp");
dtsmall = Open("$SAMPLE_DATA/Big Class.jmp");
cols_to_keep = dtsmall << Get Column Names("String");
dt_new = dtbig << Subset(All Rows, Columns(cols_to_keep));
-Jarmo