BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
adil256
Quartz | Level 8

Hi everyone,

 

I create a variable to store the file directory in it in order to modify the path easier in the futur but when i run the sas code I get this error "ERROR: Physical file does not exist." It works perfectly when i refer the path in the Infile statement.

 

I begin my code with :

 

%let path=H:\database\SAS\Txt_file\Database.txt;

then I import my txt file.

DATA MyDB;
             LENGTH
              ...
             FORMAT
              
              ...
             INFORMAT
               
              ...

            INFILE '&path'
                LRECL=584                             
ENCODING="WLATIN1" DLM=';' MISSOVER DSD firstobs=2; INPUT ... RUN;

 thank u in advance

 

1 ACCEPTED SOLUTION

Accepted Solutions
RW9
Diamond | Level 26 RW9
Diamond | Level 26

Hi,

 

Why not just put it in a filename statement rather than juming through macro loops?:

filename dbfile 'h:\database\sas\txt_file\database.txt';

data mydb;
  length ...;
  format ...;
  informat ...;
  infile dbfile lrecl encoding="wlatin1" dlm=";" missover dsd firstobs=2;
  input ...;
run;

Also, considering coding in lower case, it makes code easier to read.

View solution in original post

4 REPLIES 4
novinosrin
Tourmaline | Level 20

Macro variable references do not resolve withing single quotes when called within a string literal.

Try

 

INFILE "&path"

RW9
Diamond | Level 26 RW9
Diamond | Level 26

Hi,

 

Why not just put it in a filename statement rather than juming through macro loops?:

filename dbfile 'h:\database\sas\txt_file\database.txt';

data mydb;
  length ...;
  format ...;
  informat ...;
  infile dbfile lrecl encoding="wlatin1" dlm=";" missover dsd firstobs=2;
  input ...;
run;

Also, considering coding in lower case, it makes code easier to read.

adil256
Quartz | Level 8

Because i didn't know the statement. Now I know :-D.

 

Thanks and sorry for upper case.

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 4 replies
  • 3166 views
  • 2 likes
  • 4 in conversation