BookmarkSubscribeRSS Feed

If one dataset (Test1) and I have variable ‘displaymonth’ with the format DATETIME20.

 

and

 

the other dataset (Test2) variable ‘displaymonth’ $8.

 

How do I go about getting the first dataset (Test1) ‘displaymonth’ to be the same as Test2? So when I merge the 2 they match?

 

I tried this but doesn't work

Data Test1;
Set Test1;
Applseq=applseq+0;
put displaymonth=$8.;
Run

2 REPLIES 2
Kurt_Bremser
Super User
data test1_int (drop=_displaymonth);
set test1 (rename=(displaymonth=_displaymonth));
displaymonth = put(datepart(_displaymonth),yymmddn8.);
run;

Then use that in your join instead of test1.

RW9
Diamond | Level 26 RW9
Diamond | Level 26

Alternatively:

proc sql;
  create table WANT as
  select...
  from   TEST1 A
  full join TEST2 B 
  on      A.DISPLAYMONTH=input(B.DISPLAYMONTH,yymmdd8.);
quit;
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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1245 views
  • 0 likes
  • 3 in conversation