Dear,
I have a dataset with more than 200 variables. How to find the variables that present in my dataset but in vendor dataset. I checked using proc contents procedure. It is taking time. Is there a quick way to identify. Please help.
Thanks
1. Proc Compare - will print a report.
2. Use SASHELP.VCOLUMN/Dictionary.Column. These are datasets that contain the variables in each dataset. It's worth learning how to use these well.
Give them a shot and if you need more help post the code you've tried.
Don't run a PROC COMPARE on the data sets themselves. Run it on the output of PROC CONTENTS. For example:'
proc contents data=a noprint out=a_contents;
run;
proc contents data=b noprint out=b_contents;
run;
Then run the PROC COMPARE to compare a_contents vs. b_contents. Use NAME as the BY or ID variable.
Hi,
Personally I would be worried about the "200 columns", that is never a good way to work and will cause you problems throughout programming with it.
proc sql; create table VARS_MISSING as select VNAME from (select * from SASHELP.VCOLUMN where LIBNAME="<your library>" and MEMNAME="<your dataset in upcase>") except (select * from SASHELP.VCOLUMN where LIBNAME="<your library>" and MEMNAME="<your other dataset in upcase>"); quit;
Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.
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.