Date: Tue, 28 Aug 2007 09:31:30 -0700
Reply-To: rangoonraja123@GMAIL.COM
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: rangoonraja123@GMAIL.COM
Organization: http://groups.google.com
Subject: Re: ERROR: Overflow has occurred; evaluation is terminated.
In-Reply-To: <200708281550.l7SFeZWT011332@mailgw.cc.uga.edu>
Content-Type: text/plain; charset="us-ascii"
On Aug 28, 11:50 am, gerhard.hellrie...@T-ONLINE.DE (Gerhard
Hellriegel) wrote:
> There is for sure a way! You don't can overcome the limits which are
> documented, but you can use 20 macro varoables, or 20,000 ans store only 1
> num in each! But that is not the thing, macro variables or even the macro
> facility is designed for!
> If you handle 20,000 macro variables, you want have response times any more,
> but delivery times instead and also memory problems. If you deal with a
> dataset with 20,000 obs (which SAS is designed for) you nearly can't measure
> the response times!
>
> So once again: tell us what you want to do and there is for sure a more
> suitable solution than holding data in macro variables!
> By the way: if you think of "transporting information from one step to the
> next", that is exactly something where a sas dataset is used for!
>
> Gerhard
>
> On Tue, 28 Aug 2007 08:24:59 -0700, rangoonraja...@GMAIL.COM wrote:
> >On Aug 28, 10:44 am, nos...@HOWLES.COM ("Howard Schreier <hs AT dc-sug
> >DOT org>") wrote:
> >> Seehttp://support.sas.com/techsup/unotes/SN/005/005178.html
>
> >> On Tue, 28 Aug 2007 07:34:35 -0700, rangoonraja...@GMAIL.COM wrote:
> >> >Hi all,
>
> >> >i am having following error in my log
>
> >> >ERROR: Overflow has occurred; evaluation is terminated.
>
> >> >PROC sql noprint;
> >> > select distinct ptno into: pt separated by ','
> >> > from xx
> >> > where yy in('multi') ;
> >> >quit;
>
> >> >This happens when i use this macro variable(pt) from sql in another
> >> >program
> >> >this macro variable (pt) has a value of 20,000 patient numbers
>
> >> >(eg: 2001, 2002,
>
> >2003,...............................................................................
> >> >and so on).
>
> >> >I need a have a macro variable containing the patient numbers.
>
> >> >how do i over come this.
>
> >> >regards,
> >> >rangoon.
>
> >hi howard,
>
> >Is there any way that we can overcome this.
>
> >Thank you
>
> >___rangoon
Thank you all for your inputs.
the reason why i need a macro variable for ptno is the value for "p "
keeps changing.
following is a part of large "macro de". but if this is overcome then
everything will be fine.
%macro de(ano = , p = );
PROC SORT DATA = g OUT = gg;
BY study ptno;
WHERE anal in(&ano);
RUN;
DATA demo1;
MERGE gg bb;
BY study ptno;
IF ptno in (&&&p);
RUN;
%mend de;
PROC sql noprint;
select distinct ptno into: pt separated by ','
from xx
where ppp in('multi') ; /*where value keeps changing*/
quit;
PROC sql noprint;
select distinct ptno into: tt separated by ','
from xx
where ppp in('mint') ; /*where value keeps changing*/
quit;
%macro de(ano = 2, p = pt); /* p macro parameter value is changed*/
%macro de(ano = 2, p = tt); /* p macro parameter value is changed*/
Thank you,
Rangoon.
|