Hi There,
I ecountered this issue when I tried to use X command to open a file and file name has a macro variable: &basedt2.
X '"C:\Ma Project\01 Angeliebe daily tracking\raw data\ReportCustomerCsv-&basedt2..csv"';
It can not be executed.
Does anyone have a solution?
Thanks!
Two things, first you need to put
options mlogic symbolgen mprint;
Before that call and see what the macro variable relates to. Then check that file exists - simple way of checking is to open a cmd window, then copy an dpaste the full text (not the macro variable) into the cmd window and see what it says. Likely the path is wrong, or you have spaces. Also note where you are running it. It will have to be on a windows machine and have Excel installed and associated with .csv, otherwise the OS does not know what software to open it with.
And a final question, why? It seems totally pointless to open file on the OS.
Why do you have single and double quotes?
Use only the double quotes.
@Reeza look closely. There are blanks in the pathname.
Kurt's computing mantra #2: Blanks in filenames are a BAD IDEA.
Where is the command? You have a path to a file, but X requires a system-based command that it will execute.
Are you saying this command sometimes does what you want if you don't refer to a macro variable within?
Well, not quite @Astounding. If the file type is known by the system, in this case CSV is associated with Excel, then it actually opens Excel and then file. Thats why I was questioning the reason behind it, opening the file, as SAS already has the options results which will open output files when created.
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.