libname xls pcfiles path="&dispout."; proc sql noprint; drop table xls.DispositionANew, xls.DispositionBNew, %if &ds_tte. %then %do; %do a = 1 %to &num_dsd.; xls.Sheet&a., xls.Sheet&a.E, %end; %end; xls.Info ; quit; data xls.DispositionANew; set final_dispositionA; run;
For above SAS code, I am getting an error while reading excel files(.xls) files. As we have excel files into .xls format so we can't change engine to "XLSX". Currently I am using SAS v9.4 for running code. Kindly see below snippet of error.
Any suggestions would be appreciated to fix this code.
ERROR: Unable to locate pcfserver.exe. Please install PC Files Server. ERROR: Error in the LIBNAME statement. ERROR: Libref XLS is not assigned. WARNING: Table XLS.DispositionANew has not been dropped. ERROR: Libref XLS is not assigned. WARNING: Table XLS.DispositionBNew has not been dropped. ERROR: Libref XLS is not assigned. WARNING: Table XLS.Sheet1 has not been dropped. ERROR: Libref XLS is not assigned. WARNING: Table XLS.Sheet1E has not been dropped. ERROR: Libref XLS is not assigned. WARNING: Table XLS.Sheet2 has not been dropped. ERROR: Libref XLS is not assigned. WARNING: Table XLS.Sheet2E has not been dropped. ERROR: Libref XLS is not assigned. WARNING: Table XLS.Sheet3 has not been dropped. ERROR: Libref XLS is not assigned. WARNING: Table XLS.Sheet3E has not been dropped. ERROR: Libref XLS is not assigned. WARNING: Table XLS.Info has not been dropped.
ERROR: Unable to locate pcfserver.exe. Please install PC Files Server.
What does macro variable &DISPOUT resolve to?
/* location and filename of the output */ %global outfile outpath; %let outpath = &top_dir.\Outputs; %let outfile = Disposition.xls; %global dispout errout; %let dispout = &outpath.\&outfile.;
Please see above mention code for macro variable resolution.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.