I need to change data in my numeric columns named NUM1-NUM90 (90 columns).
Whereever its '.' i need to replace it with '0'
Also tthere is a where clause to select model_type.
For example..the query should be: In a dataset for model_type='Business' set all '.' values to '0' for columns(WRA1-WRA90) .
Please help me have a query or suggestion,how to take care of this.Thanks!
Apply this simple example of 3 columns to your 90 and add a where clause where needed
data have;
input WRA1-WRA3;
datalines;
1 2 .
. 4 6
4 . 9
;
data want(drop = i);
set have;
array wras[*] WRA1-WRA3;
do i = 1 to dim(wras);
if wras[i] = . then wras[i] = 0;
end;
run;
data want;
set have;
array wr {90} wra1-wra90;
do i=1 to 90; if wr(i)=. then wr(i)=0; end;
run;
Where will i have Where clause for Model_type= Business ?
data want; set have; array wr {90} wra1-wra90; id model_type eq 'Business' then do; do i=1 to 90; if missing(wr(i)) then wr(i)=0; end; end; run;
Art, CEO, AnalystFinder.com
You have got your answers from the others, you should attempt a little to make the discussion interesting. Anyway, here you go:
data want(drop = i);
set have;
array wras[*] WRA1-WRA90;
if upcase(model_type)='BUSINESS' then do;
do i = 1 to dim(wras);
if wras[i] = . then wras[i] = 0;
end;
end;
run;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.