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.
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.