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

Hello All,

I'm trying to find the number of days between the occurrence of rainfall events. Here's a sample of my code:

Date          precip_cm

1/1/61          0.13

1/2/61          0

1/3/61          0

1/4/61          0

1/5/61          0.64

1/6/61          0.32

1/7/61          0

1/8/61          0

1/9/61          0

1/10/61        0 

I'd like to add a new column that shows the number of days since the last rainfall occurred. Here's an example of what I'm trying to do:

Date          precip_cm          days_since_rf

1/1/61          0.13                     0

1/2/61          0                         1

1/3/61          0                         2

1/4/61          0                         3

1/5/61          0.64                    0   

1/6/61          0.32                    0

1/7/61          0                         1

1/8/61          0                         2    

1/9/61          0                         3

1/10/61        0                         4

Does anyone have any suggestions on how to do this? Thanks in advance for your help!

Salli

1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User

data want;

set have;

retain days_since_rf;

if precip_cm ne 0 then days_since_rf=0;

else days_since_rf+1;

run;

View solution in original post

2 REPLIES 2
Reeza
Super User

data want;

set have;

retain days_since_rf;

if precip_cm ne 0 then days_since_rf=0;

else days_since_rf+1;

run;

sfd
Calcite | Level 5 sfd
Calcite | Level 5

Thank you @Reeza! Your code did the trick.

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
  • 944 views
  • 0 likes
  • 2 in conversation