DATA Step, Macro, Functions and more

What is Infile and file statements in SAS and what is the difference between them?

Reply
New Contributor
Posts: 2

What is Infile and file statements in SAS and what is the difference between them?

What is Infile and file statements in SAS and what is the difference between them?

Super User
Posts: 7,827

Re: What is Infile and file statements in SAS and what is the difference between them?

INFILE is used to denote an external file from whcih data is read into the SAS system.

FILE denotes an external file that data is written to.

 

Basic DATA step architecture:

 

DATA test;

INFILE "external_file.txt";

INPUT

  x1

  x2

;

RUN;

 

DATA _NULL_;

SET test;

FILE "another_external_file.txt";

PUT

  x1

  x2

;

RUN;

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Valued Guide
Posts: 765

Re: What is Infile and file statements in SAS and what is the difference between them?

Hi ... you can try this ...

 

* create a data file (no data set created);

data _null_;

* specify the name of the data file;

file 'c:\new.txt';

* create some numeric variables and give them all a value of 99;

retain x1 x2 x3 99;

* write the values of the variables to the file specified in the FILE statement;

put x1-x3;

run;

 

* read the data file you just created and create a data set;

data new;

* specify the location of the data file;

infile 'c:\new.txt';

* read the data;

input x1-x3;

run;

 

* look at your data set;

proc print data=new;

run;

 

Another way to remember the difference between FILE and INFILE is to think of the statements PUT and INPUT.  PUT statements are associated with FILE (write to a file) and INPUT statements are associated with INFILE (read data from an already existing file).

Ask a Question
Discussion stats
  • 2 replies
  • 2152 views
  • 0 likes
  • 3 in conversation