No, the real question here is why on earth are you doing numerical imputations in a textual code generation system? I mean do you use Word as a calculator? Let me explain:
Macro language is a technique of generating text, it has some conditionals and what not, but it not itself compilable code, it is merely there to help generate compilable code to save you having to type things. Base SAS is the compilable code, it is there you would do all your computations, data manipulations etc. If for some unkown reason you do need a result in a macro variable, then @Kurt_Bremser has provided you with an answer, use Base SAS data _null_ and call symput to generate the macro variable.
... View more