Quite simply I'm trying to write a case statement that will let me know if date.B is 12 months older than date.A, then 'out of warranty'. I used to writing it in DB2 like this
SQL NOEXEC;
SELECT
(case when t1.'''Warranty End date''n'n is null then ''
when t1.'''Warranty End date''n'n>t1.'''Purchase date''n'n+ 12 months then 'In Warrenty At Time of Call'
else '' end) AS CALCULATION
How do write this code in Proc SQL ?
Hi,
Something like:
proc sql;
create table WANT as
select case when WARRANTY_END_DATE is null then ''
when WARRANTY_END_DATE > intnx('MONTHS',PURCHASE_DATE,12) then "In warranty"
else "" end as CALCULATION
from HAVE;
quit;
This assumes there is a dataset called HAVE with variables WARRANTY_END_DATE and PURCHASE_DATE, and that they are both already date format.
Hi,
Something like:
proc sql;
create table WANT as
select case when WARRANTY_END_DATE is null then ''
when WARRANTY_END_DATE > intnx('MONTHS',PURCHASE_DATE,12) then "In warranty"
else "" end as CALCULATION
from HAVE;
quit;
This assumes there is a dataset called HAVE with variables WARRANTY_END_DATE and PURCHASE_DATE, and that they are both already date format.
Thanks I see what I did wrong. It works.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
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 save with the early bird rate—just $795!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.