07-10-2016 06:57 PM
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.
07-10-2016 07:34 PM
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.
07-10-2016 08:06 PM
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;
proc contents data=b noprint out=b_contents;
Then run the PROC COMPARE to compare a_contents vs. b_contents. Use NAME as the BY or ID variable.
07-11-2016 05:02 AM
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;