Date: Tue, 14 Jul 1998 12:14:35 -0400
Reply-To: RODNEY PRESLEY <WAPRO.RPRESLEY@SDPS.ORG>
Sender: "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From: RODNEY PRESLEY <WAPRO.RPRESLEY@SDPS.ORG>
Subject: Concatinating macro variables SOLVED
Content-Type: text/plain
Thanks to several members of SAS-L this
problem is now clear to me. David Johnson,
Shing Zhang, "jens-uwe", Ronald Fehd,
Eckhard Becker, and Peter Crawford all
pointed out the 200 byte limitation of
character variables in SAS data steps. I
knew about this but thought that using the
SYMPUT function would be immune to this
limitation. It is not. Most of the solutions
offered relied on PROC SQL. This is how I
implemented it:
proc sql noprint;
select 'NM'||substr(name,3) into: num_v
separated by ' '
from dictionary.columns
where libname='ESRD' and
memname="%upcase(&dsn)" and
type='num';
select 'MN'||substr(name,3) into: min_v
separated by ' '
from dictionary.columns
where libname='ESRD' and
memname="%upcase(&dsn)" and
type='num';
select 'MX'||substr(name,3) into: max_v
separated by ' '
from dictionary.columns
where libname='ESRD' and
memname="%upcase(&dsn)" and
type='num';
select 'MU'||substr(name,3) into:
mean_v separated by ' '
from dictionary.columns
where libname='ESRD' and
memname="%upcase(&dsn)" and
type='num';
select 'MD'||substr(name,3) into:
median_v separated by ' '
from dictionary.columns
where libname='ESRD' and
memname="%upcase(&dsn)" and
type='num';
select 'MO'||substr(name,3) into:
mode_v separated by ' '
from dictionary.columns
where libname='ESRD' and
memname="%upcase(&dsn)" and
type='num';
%put &num_v &min_v &max_v &mean_v
&median_v &mode_v ;
Again thank you for a solution and
contribution to my education.
Rodney
Rodney J. Presley, Ph.D.
PRO-West
10700 Meridian Av. N., suite 100
206-364-9700 ext. 2447
wapro.rpresley@sdps.org
|