Date: Tue, 13 May 2008 17:51:56 -0400
Reply-To: susie.li@BOEHRINGER-INGELHEIM.COM
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Susie C Y Li <susie.li@BOEHRINGER-INGELHEIM.COM>
Subject: Re: Macro variable problem: year/month date value conversion
In-Reply-To: <7367b4e20805131434q7b34865bp701f1cc1dbb3f803@mail.gmail.com>
Content-Type: text/plain; charset="us-ascii"
Thank you. Your fix worked.
Susie Chung Li
-----Original Message-----
From: data _null_, [mailto:datanull@gmail.com]
Sent: Tuesday, May 13, 2008 5:34 PM
To: Li,Susie MK BIP-US-R
Cc: SAS-L@listserv.uga.edu
Subject: Re: Macro variable problem: year/month date value conversion
You can't do it that way using CALL SYMPUT and then trying to use the
value in the same step. This may be more helpful to you...
%let endmo=1mar2008;
data mic;
trx=1;
run;
%macro test(dsn=);
%let yyyymm = %sysfunc(intnx(month,"&endmo"d,0),yymmn6);
%put NOTE YYYYMM=<&yyyymm>;
data &dsn;
set &dsn (rename=trx=&dsn._trx_&yyyymm);
run;
%mend;
options mprint;
%test(dsn=mic);
You may want to consider an completely different approach. Keeping
data in the meta data fields of a SAS data set does not make for the
most efficient coding. We would need to see the big picture to make a
more useful recommendation.
On 5/13/08, Susie C Y Li <susie.li@boehringer-ingelheim.com> wrote:
> Hello all,
>
> I would like to get a variable name "trx" changed to something like
> "mic_200803" by running the following code. But it failed. Can you help?
>
>
> ------- code ------
>
> %let endmo=1mar2008;
> %macro test(dsn=);
> data &dsn;
> sasdate=intnx('month',"endmo"d,0));
> call symput('yyyymm',put(sasdate,yymmn6.));
> set &dsn (rename=trx=&dsn._trx_&yyyymm);
> run;
> %mend;
>
> %test(dsn=mic);
>
> ----- log ---------
>
> MPRINT(RUNMARKET): ;
> SYMBOLGEN: Macro variable DSN resolves to mic
> MPRINT(RENAMEIT): data mic;
> SYMBOLGEN: Macro variable ENDMO resolves to 01mar2008
> MPRINT(RENAMEIT): sasdate=intnx('month',"01mar2008"d,0);
> MPRINT(RENAMEIT): call symput('yyyymm',put(sasdate,yymmn6.));
> SYMBOLGEN: Macro variable DSN resolves to mic
> WARNING: Apparent symbolic reference YYYYMM not resolved.
>
>
>
>
> Susie Chung Li
>
|