Hello,
I'm using SAS 9.4 full edition and am trying to add up money within an array. The variable MONEY below is coded as a numeric variable with format dollar15.2. I think the if statement is the problem because I keep getting 0 as the answer. I don't know how to code that line which adds up all the amounts in the MONEY array for a given row.
Thanks for the help!
Best
Laura
array MONEY [50] MONEY1-MONEY50;
TotalCost=0;
do i= 1 to 50;
if MONEY [i]=' ' then TotalCost + ' ';
end;
format TotalCost dollar15.2;
Some pointers:
1. Space is missing for character variables not numeric. Use the MISSING() function for both numeric and character variables interchangeably.
2. The SUM operator (+) assigns the results to missing if any of the values are missing.
3. The SUM() function will treat missing as 0 or non existent.
4. The SUM() function can take a list of variables or an array reference.
All of this can be found in the relevant documentation.
data demo;
a=0; b=.;
x = a+b;
y = sum(a, b);
run;
proc print data=demo;run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
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.
Ready to level-up your skills? Choose your own adventure.