BookmarkSubscribeRSS Feed
srdhoble
Calcite | Level 5

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!

5 REPLIES 5
PeterClemmensen
Tourmaline | Level 20

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;

 

Shmuel
Garnet | Level 18

data want;

   set have;

        array wr {90} wra1-wra90;

       do i=1 to 90; if wr(i)=. then wr(i)=0; end;

run;

srdhoble
Calcite | Level 5

Where will i have Where clause for Model_type= Business ?

art297
Opal | Level 21
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

 

novinosrin
Tourmaline | Level 20

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;

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 5 replies
  • 1816 views
  • 0 likes
  • 5 in conversation