I have data with an '.' in a numeric field. I want to move a space to this field. I would like to do this in Enterprise Guide. I have tried variations of this syntax:
case when t1.AF > 0 then PUT(t1.AF) = ''
end
Input
AF | AM | BF |
. | . | 9 |
. | . | . |
. | . | 2 |
Output
AF | AM | BF |
9 | ||
2 |
Just change the system option to print a space instead of a period for missing numeric values.
options missing=' ';
If you do want to recode your variable to character then your CASE statement would look like this:
case
when not missing(t1.AF) then PUT(t1.AF,best12.)
else ' '
end
You could pick a different format to use in the PUT() function depending on how you want the values displayed.
options missing=' ';
How does this syntax work in Enterprise Guide in build and advanced expression if my field name is AF?
NO "expression" needed. The period is indicating that the value is missing. The option sets the display to show missing with a different character, a blank. The "condition" to create a character variable with a blank in a CASE statement would be
It looks like you may be missing an ELSE portion of your CASE statement: Else " " as BF. But you didn't show the entire case statement as the result variable isn't indicated.
My field is numeric so my else cannot be "" for a blank. I do not want a zero. Ideas?
Just change the system option to print a space instead of a period for missing numeric values.
options missing=' ';
If you do want to recode your variable to character then your CASE statement would look like this:
case
when not missing(t1.AF) then PUT(t1.AF,best12.)
else ' '
end
You could pick a different format to use in the PUT() function depending on how you want the values displayed.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.