Help using Base SAS procedures

PROC COMPARE for multiple data sets

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 10
Accepted Solution

PROC COMPARE for multiple data sets

I have 11 sets I'd like to merge into one very wide set, but I want to check for duplicate variables first.  For example, I know a number of the sets have a variable named "notes", so I'll need to rename them in each set (notes1, notes2, etc) so they don't get overwritten.  Each set has a common ID to merge on.

A PROC COMPARE on two of the sets confirms that "notes" is the only variable I need to worry about, but that just checks two sets.  It doesn't seem very efficient to run PROC COMPARE on each combination before the merge (or even 10 combinations off some sort of "master set"). PROC SQL isn't any prettier since it's 10 joins.

I can write a PROC COMPARE macro but that seems like overkill for what's essentially "find duplicate variables among these sets".  Does anyone have a systematic way of checking for duplicate variables when merging more than two sets?



Accepted Solutions
Solution
‎08-22-2013 12:53 PM
Super User
Posts: 19,878

Re: PROC COMPARE for multiple data sets

Use the sashelp.vcolumn table instead and search for duplicate variable names for the tables of interest.

View solution in original post


All Replies
Solution
‎08-22-2013 12:53 PM
Super User
Posts: 19,878

Re: PROC COMPARE for multiple data sets

Use the sashelp.vcolumn table instead and search for duplicate variable names for the tables of interest.

Occasional Contributor
Posts: 10

Re: PROC COMPARE for multiple data sets

Terrific, thanks Reeza!  I ordered by name and can easily flag the dupes by hand.  It will be straightforward to automate for future use if we so desire.

Cheers,

Andy

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 230 views
  • 0 likes
  • 2 in conversation