I have a dataset FiscalDate year Value 01JAN2012 2012 2 14JAN2012 2012 3 15JAN2012 2012 4 04FEB2012 2012 6 05FEB2012 2012 7 01JAN2013 2013 1 12JAN2013 2013 2 08MAR2014 2014 10 09MAR2014 2014 11 If it is the first instance of the year and has a value of 2 than it should be reduced by 1. Here is the output that I need FiscalDate year Value 01JAN2012 2012 1 14JAN2012 2012 2 15JAN2012 2012 3 04FEB2012 2012 5 05FEB2012 2012 6 01JAN2013 2013 1 12JAN2013 2013 2 08MAR2014 2014 10 09MAR2014 2014 11
As long as YEAR is also part of the data set, you can use it:
data want;
set have;
by year;
if first.year then do;
if value=2 then increment = -1;
else increment = 0;
end;
retain increment;
value = value + increment;
run;
2025 SAS Hackathon: There is still time!
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!