BookmarkSubscribeRSS Feed
Nikos
Fluorite | Level 6

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

1 REPLY 1
Haikuo
Onyx | Level 15

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

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 1 reply
  • 741 views
  • 0 likes
  • 2 in conversation