BookmarkSubscribeRSS Feed
GoDlike
Calcite | Level 5

Hi,guys,here is my problem,

I have several tables in the folder,I want to join them together,merge same name columns,and match them by some conditions,here is my script,running this every time can only open the 1st table in the folder,this is my JSL script:

mypath = (mypath);

Set Current Directory( mypath );

y = Files In Directory( mypath );

For( i = N Items( y ), i > 0, i--,

  If( Ends With( y, "jmp" ),

  ,

  Remove From( y, i )

  )

);

n = N Items( y );

For( i = 1, i <= n, i++,

/* If the file is the first in the list, open it. Otherwise, open the table, join with the main table, and close the table just opened. */

    If( i == 1,

        mainDt = Open( mypath || y );

      

        dt = Open( mypath || y ) ;

      

        mainDt = mainDt << join ( dt,Merge Same Name Columns,

                                By matching Columns(:col1 = :col2),

                                Append to First Table );

        Close( dt, NoSave );

        Wait( 0 );

    )

  );  

/* Give the final table a name. */

mainDt<< Set Name( "Join Files" );

How can I realise this function?

thanks for help.

3 REPLIES 3
ballardw
Super User

Are you asking how to combine SAS data sets using SAS?

GoDlike
Calcite | Level 5

No,this is a JSL script problem,thank you

Reeza
Super User

You should post in the JMP sub-forum Smiley Happy

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 1055 views
  • 0 likes
  • 3 in conversation