@PaigeMiller ,
While you are absolutely correct about this, I proposed a solution based on the question as presented. Actually, I fully expected that the original poster would write back saying that the solution didn't work (because of the presence of other numeric variables). The lesson (in my mind) was going to be that you need to accurately describe the data if you want an accurate solution. I thought recommendations to restructure the data and then learn a summary procedure were too complex for a programmer asking the original question.
If another variable is present, the fix might be any one of a number of things that use the current structure to the data. For example, if the data added a numeric variable YEAR, it might be:
total = sum(of _numeric_) - year;
Or even (if there are 100 numeric variables (beginning with YEAR) added after the "month" variables:
total = sum(of type - numeric - year) - year;
SAS won't care that TYPE is character, it would simply omit TYPE from the specified list.
And if the other numeric variables are scattered throughout the data as possibility would be:
total = sum(of jan2:, of feb2:, of mar2:, of apr2:, of may2:, of jun2:, of jul2:, of aug2:, of sep2:, of oct2:, of nov2:, of dec2:);
SAS should complain if not all of these variables exist, but it should compute properly anyway. Yes, this solution only lasts through 2029, but by that time all involved should be wiser and able to devise something better.
For the sophisticated, you could even try:
data want;
set have (keep= jan2: feb2: mar2: apr2: may2: jun2: jul2: aug2: sep2: oct2: nov2: dec2:);
type = sum(of _numeric_);
set have;
run;
My bad for not mentioning that the inclusion of other numeric variables would throw off the total. I did fully expect that the issue would arise during the process of ironing out a solution.
... View more