DATA Step, Macro, Functions and more

Replacing missing Numeric value with NA and not changing format of others

Accepted Solution Solved
Reply
Contributor
Posts: 58
Accepted Solution

Replacing missing Numeric value with NA and not changing format of others


PROC FORMAT ;
PICTURE Num    .="NA"
             OTHER= "000.00%";
			 run;

data test;
input  Number ;
format Number num. ;
cards;
10910.63%
63.91%
75.56%
-77.08%
.
.
0.74%
-8.12%
.
run;

I want only missing value to be replaced by NA and others value remains same in percentage .

 


Accepted Solutions
Solution
‎08-21-2017 05:03 AM
Super User
Super User
Posts: 9,427

Re: Replacing missing Numeric value with NA and not changing format of others

Why do you have % character in data you are reading in as numeric?  This code works fine (note, its not a good idea to use reserved words as names of formats - or anything else for that matter):

proc format;
  picture mypcent
    .="NA"
    other= "000.00%";
run;

data test;
  input  number;
  format number mypcent.;
cards;
10910.63
63.91
75.56
-77.08
.
.
0.74
-8.12
.
run;

View solution in original post


All Replies
Valued Guide
Posts: 570

Re: Replacing missing Numeric value with NA and not changing format of others

You need to change your format slightly and add an informat to read the percentages

 

PROC FORMAT ;
	value Num
		.="NA"
		other=[percentn8.2]
		;
run;

data test;
input  Number ;
informat number percent9.;
format Number num. ;
cards;
10910.63%
63.91%
75.56%
-77.08%
.
.
0.74%
-8.12%
.
run;
Solution
‎08-21-2017 05:03 AM
Super User
Super User
Posts: 9,427

Re: Replacing missing Numeric value with NA and not changing format of others

Why do you have % character in data you are reading in as numeric?  This code works fine (note, its not a good idea to use reserved words as names of formats - or anything else for that matter):

proc format;
  picture mypcent
    .="NA"
    other= "000.00%";
run;

data test;
  input  number;
  format number mypcent.;
cards;
10910.63
63.91
75.56
-77.08
.
.
0.74
-8.12
.
run;
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 252 views
  • 1 like
  • 3 in conversation