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.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.