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

Annotation 2020-04-25 121540.pngI have a data set with 3 families and each family has an income value for months 1-12. I'm trying to determine how many months each family had an income that was less than two thirds of the income of the previous month. To do that I want to find out which months had income that was less than two thirds the income of the previous months, then add them up. I figure an array would be easiest but I'm not totally sure how to set that up. I'll attach what the data set looks like. Any advice would be appreciated. 

1 ACCEPTED SOLUTION

Accepted Solutions
PaigeMiller
Diamond | Level 26

2/3 of the income of the previous month is not defined for the first month. So

 

data want;
    set have;
    array faminc faminc1-faminc9;
    sum=0;
    do i=2 to 9;
         if faminc(i)<faminc(i-1)*2/3 then sum=sum+faminc(i);
    end;
    drop i;
run;
--
Paige Miller

View solution in original post

1 REPLY 1
PaigeMiller
Diamond | Level 26

2/3 of the income of the previous month is not defined for the first month. So

 

data want;
    set have;
    array faminc faminc1-faminc9;
    sum=0;
    do i=2 to 9;
         if faminc(i)<faminc(i-1)*2/3 then sum=sum+faminc(i);
    end;
    drop i;
run;
--
Paige Miller
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
  • 1 reply
  • 682 views
  • 0 likes
  • 2 in conversation