- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
anybody can help me how can i initiate my _n_ from 1 when my condition is met.
I am using following code to do that. It is working but it has problem where _n_ is linked to 'IF' condition.
i.e. if _Type_ = 2 is appearing in row number 5 in my table "AirCont" then my call symputx outcome gives me the outome to 'Y5' , whereas I want that _N_ initiate/incriment only when condition is met.
data _null_;
set AirCont;
if _Type_ = 2 then call symputx(compress('Y' || _n_),year);
run;
Thanks,
KP
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Don't use the automatic variable _n_ . Create your own counter and use that instead.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Perhaps I don't understand the question?
If you want your own counter just make your own counter.
data _null_;
set AirCont;
if _type_=2 then do;
n+1;
call symputx(compress('Y' || n),year);
end;
run;
If you want to use the _N_ as the count of how many times the data step as iterated then change your IF to a WHERE.
data _null_;
set AirCont;
where _type_=2 ;
call symputx(compress('Y' ||_n_),year);
run;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi Reeza - sorry I was not clear enough.
Tom - Thanks i havent tried yet but your reply will work.
Thanks All
KP