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.
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!
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.