Date: Thu, 14 Sep 2006 09:55:45 +0200
Reply-To: SAS-L List <sas-l@listserv.uga.edu>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Robert Bardos <bardos2@ANSYS.CH>
Subject: Re: How to get Individual Region value from the macro list ???????
In-Reply-To: <c2192a610609131135n31bc5c44idc553b1ba31c4b23@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"
Dear SAS_learner,
PROC SQL can do more than "select distinct x into :y separated by
' '".
It can also do "select distinct x into :y1 - :y9999".
As it sets the automatic variable &sqlobs at the same time you
will know how many &y (with a numeric suffix) have been generated.
It will not generate 9999 variables. Only as much as there are
distinct values.
So basically it boils down to something like (untested):
%macro reg_loop(num_regs=);
%do i=1 %to &num_regs;
proc print data=derive.ae (where=(region="&®&i"));
run;
%end;
%mend reg_loop;
proc sql noprint;
select distinct reg into :reg1 - :reg9999
from derive.ae;
quit;
%put &sqlobs distinct values found.;
%reg_loop ( num_regs = &sqlobs );
HTH
Robert Bardos
Ansys AG, Zürich, Switzerland
-----Ursprüngliche Nachricht-----
Von: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU]Im Auftrag
von
SAS_learner
Gesendet: Mittwoch, 13. September 2006 20:35
An: SAS-L@LISTSERV.UGA.EDU
Betreff: Re: How to get Individual Region value from the macro
list
???????
sorry guys I think this lack of planning a head
what I am trying to do is generating a AEV table with different
regions, I
getting what I want by doing something like this
*For Europe;
%cou(reg = Europe, ds= eu );
*For Latin America ;
%let ds = la ;
%cou(reg = Latin America, ds= la );
*For Us an canada ;
%let ds = uc ;
%cou(reg = US/Canada, ds= uc );
these are the distinct values I getting from AE table,
is there a way to distinct values of region to my %cou ( reg =
® , ds =
® (this is for my debuging purpose only ) )