DATA Step, Macro, Functions and more

Write Out same file to different locations

Reply
Frequent Contributor
Posts: 75

Write Out same file to different locations

[ Edited ]

How do i write out the same file to different locations?

 

Eg, i tried 2 file statements, but i realised the file in the first statement is empty.

 

 

 

FILENAME OUT 'C:\desktop\dataset1.dat'
FILENAME OUT1 'C:\desktop\data\dataset1.dat'
 
 
'
 


data out; Set dataset1; File out; File out1; put @1 variable1; run;

 

 
 

 

Super User
Posts: 7,854

Re: Write Out same file to different locations

You can only write to one file at any given moment; that is why the first file is empty, as the second file statement takes precedence.

 

This is where a macro may be handy to avoid writing several data steps:

%macro write_file(outfilename);
data _null_;
set dataset1;
file "&outfilename";
put @1 variable1;
run;
%mend;
%write_file(C:\desktop\dataset\out);
%write_file(C:\desktop\out);
---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Super User
Super User
Posts: 7,988

Re: Write Out same file to different locations

Hi,

 

You can do something like this:

data _null_;
set sashelp.class;
file 's:\temp\rob\test1.txt';
put _all_;
file 's:\temp\rob\test2.txt';
put _all_;
run;

You can put as many file and put statements as you like.

 

Why are you using .dat extension by the way?  Use a descriptive file extension, so maybe .txt as it is textual file format, or .csv for comma separated.

Super User
Posts: 10,044

Re: Write Out same file to different locations

If you can use OS comman , you can copy any number of file:

x  " copy c:\temp\rob\test1.txt  c:\temp\rob\test2.txt  ";


Ask a Question
Discussion stats
  • 3 replies
  • 205 views
  • 2 likes
  • 4 in conversation