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!!!
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.