I am attempting to do a calculated column in my SQL that takes
Merchandise_AMT - Changed_Price
There are several instances where the value in changed price is '.' I tried doing a missing statement to replace all '.' with '0' but the calculation had the same affect. Does anyone know how to treat the '.' as an actual zero so the calculation will work as intended?
DZ
I can't test it at the moment, but how about if you use the sum function? e.g.:
data have;
input x y;
cards;
1 2
1 .
5 7
7 5
. 6
;
proc sql;
create table want as
select *,sum(x,y*-1) as diff
from have
;
quit;
I can't test it at the moment, but how about if you use the sum function? e.g.:
data have;
input x y;
cards;
1 2
1 .
5 7
7 5
. 6
;
proc sql;
create table want as
select *,sum(x,y*-1) as diff
from have
;
quit;
Art297 has a good suggestion.
I have also used this method with success - basically I test if Price is empty and only do the calculation if it's not. My else value can be 0 indicating no change or it could be amount if that makes more sense in your calculation.
,case
when price ge 0 then Amt - price
else 0 /*You may want this to be Amt*/
end as new_var
God I love you guys/gals!!! You are so smart.
Thank yoiu so much for all of your input... both of you!
My report is finally completed!!!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.