BookmarkSubscribeRSS Feed
paddyb
Quartz | Level 8

Hi

 

I am trying to merge datasets to see if there are missmatch in labels,There are multiple studies and would like to see labels for variable like in dataset C.First I tried to join 2 datasets and its overwritting label .Any suggestion please?

merge.png

3 REPLIES 3
Reeza
Super User
Give them different variable names. You can rename it in the MERGE statement if that's what you're using.
VDD
Ammonite | Level 13 VDD
Ammonite | Level 13

use a rename statement for the labels column in table b so that when you merge the data you have a column for the labels from a and b 

 

something like this


data have;
 set have(rename=(label=have_label));
run;

ballardw
Super User

Something like this may help. DICTIONARY.COLUMNS is a special data source that SAS stores all the information describing all of the variables in all data sets in currently assigned libraries.

This assumes that all of your sets are in the same library which I indicated by 'YOURLIB' the name needs to be in uppercase and in quotes. Memname also should be in uppercase. If you have a large number of similar names you may be able to use the LIKE predicate with wildcards.

 

I couldn't tell what library you are using, I suspect that you actually want memname to be the name of other data sets like ADAE instead of the "sets" that you show in the picture.

 

The proc tabulate output will have the name of the variable as the left-most row label grouping all the values of label. The columns will be the data set name and a 1 will appear under dataset name that matches the variable name and label combination.

 

proc sql;
   create table labels as
   select memname, name, label
   from dictionary.columns
   where libname='YOURLIB' and
      memname in ('DATASETA' 'DATASETB' 'DATASETC' 'DATASETD')
   ;
quit;

proc tabulate data=labels;
  class memname name label;
  table name=''*label='',
        memname
        /misstext=' '
   ;
run;

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

How to Concatenate Values

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 3 replies
  • 1428 views
  • 0 likes
  • 4 in conversation