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!!!
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.