Help using Base SAS procedures

Import many txt files and create variables out of the txt dataset Names

Reply
Contributor
Posts: 68

Import many txt files and create variables out of the txt dataset Names

Hi all,

I need to create a single SAS data set by importing several TXT files by the names, residing in a specified folder:

      Q_RED_2001Q1.txt,      Q_RED_2001Q2.txt,     Q_RED_2001Q3.txt,      Q_RED_2001Q4.txt,

Q_GREEN_2001Q1.txt, Q_GREEN_2001Q2.txt, Q_GREEN_2001Q3.txt, Q_GREEN_2001Q4.txt,

      Q_RED_2002Q1.txt,      Q_RED_2002Q2.txt,     Q_RED_2002Q3.txt,      Q_RED_2002Q4.txt,

Q_GREEN_2002Q1.txt, Q_GREEN_2002Q2.txt, Q_GREEN_2002Q3.txt, Q_GREEN_2002Q4.txt

...........................................................................................................................................

I need also, in the new total SAS dataset to create two more identifier variable i.e.

        TYPE ( RED or GREEN)  

and  TRANSACTION_QTR  (2001Q1 or 2001Q2 or 2001Q3 etc.)

I would very much appreciate any hints.

Thank you ina dvance

Nikos

Respected Advisor
Posts: 3,124

Re: Import many txt files and create variables out of the txt dataset Names

Try this:

filename rg pipe 'dir c:\temp\q*.* /b/s';

data  want;

   infile rg end=eof;

   input fname :&$100.;

   do until (done);

   infile temp filevar=fname end=done LRECL=300;

   input v1 v2;

   type=scan(fname,2,'_');

   TRANSACTION_QTR=substr(scan(fname,3,'_'),1,6);

   output ;

   end;

   run;

   proc print;run;

Note: need to change folder name to fit your real scenario. code has been tested using attached dummy files.

Good Luck,

Haikuo

Attachment
Attachment
Ask a Question
Discussion stats
  • 1 reply
  • 162 views
  • 0 likes
  • 2 in conversation