BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
chavezt87
Calcite | Level 5

Hello,

I'm have a dataset with 3 columns of dates. What I would like to do is create one single column which prioritizes putting Date 1 in it, but if Date 1 is missing it places Date 2 into the new column and finally if both Date 1 and Date 2 are missing it places Date 3 into the new column.

 

Date 1Date 2Date 3
6/15/20176/14/2017 
  6/12/2017
 6/15/2017 
6/14/20176/15/20176/20/2017

 

Output should look like this

Date
6/15/2017
6/12/2017
6/15/2017
6/14/2017

 

Thank you!

1 ACCEPTED SOLUTION

Accepted Solutions
vsing154
Calcite | Level 5

proc sql;

select case

when date1 ne . then date1

when date1=. and date2 ne . then date 2

when date1=. and date2=. then date3

end as date from table;

quit;

 

View solution in original post

4 REPLIES 4
SuryaKiran
Meteorite | Level 14

You can use IF THEN condition.

 

IF NOT MISSING(DATE1) THEN DATE=DATE1;
ELSE IF MISSING(DATE1) AND NOT MISSING(DATE2) THEN DATE=DATE2;
ELSE DATE=DATE3;

Thanks,
Suryakiran
vsing154
Calcite | Level 5

proc sql;

select case

when date1 ne . then date1

when date1=. and date2 ne . then date 2

when date1=. and date2=. then date3

end as date from table;

quit;

 

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

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
  • 4 replies
  • 4946 views
  • 4 likes
  • 4 in conversation