BookmarkSubscribeRSS Feed
SmcGarrett
Obsidian | Level 7

Hi all,

 

I am working with Daily data which comes in a Text File. The files have a row for each observation and are formatted in based on character length. So each row has the same length in terms of characters and using infile I am able to seperate the rows into distinct columns based on the position of the characters. 

 

However, I would like to combine these files into weekly or monthly files without disturbing the formmating of these files. All I would like to do is have SAS read Files A, B, C, etc. and append them one on top of the other and then resave this file as a text file without having manipulated or formatted the files one bit.

 

When I use the point and click method to import the files, I am able to get them into SAS without manipulating the files but I cannot figure out how to code the system to read these files without it wanting some sort of formating to be done. 

 

Garrett

2 REPLIES 2
ballardw
Super User

The result you are asking for, appending files could well be better done with operating system tools but if your really need a SAS solution something like this:

First a FILENAME statement to reference your files. If the files have a name that matches your sort order that you want for output you might be able to use wildcard but this is the base idea:

 

Filename input ("C:\path\Firstfile.txt" "C:\path\Secondfile.txt" ...);  repeat the file names

IF all the files are in the same folder you might be able to use:

Filename input "C:\path\*.txt";

data _null_;
   infile input lrecl=10000;
   file "C:\Outpat\COMBINED.txt" lrecl=10000;
   input;
   put _infile_;
run;

the Lrecl needs to be as long as the longest line you expect.

 

NOTE: This does not create a SAS dataset, just reads lines and then writes them out again.

Reeza
Super User

This question was asked last week by someone else and I posted an OS based solution.

If UNIX command is cat, I can't recall Windows command but you should be able to find it via a search. 

 

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to connect to databases in SAS Viya

Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 2 replies
  • 738 views
  • 2 likes
  • 3 in conversation