Date: Tue, 9 Jan 2001 21:14:46 GMT
Reply-To: charles5453@MY-DEJA.COM
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: charles5453@MY-DEJA.COM
Organization: Deja.com
Subject: macro problem
When I run this it returns a 1. Its supposed to return the number of
words. Any suggestions?
data temp ;
INPUT NAME $ 1-20;
CARDS;
BRYAN, ROGER
BRYAN, RICHARD
BOOKER, SR., COPY
BELL, REX COPY
ADCOCK, O. K. COPY
ADAMS, KIRK L COPY
EARL, IRA J. COPY
EARL, M. COPY
EDWARDS COPY
EISENBERG, COPY
FERRON, W. COPY
run;
proc print data=temp; run;
%macro wordcnt (list=);
%local i wrd return;
%do %until (%length(&wrd)=0);
%let i = %eval (&i +1);
%let wrd = %scan (%bquote(&list),&i,%str( ));
%if %length(&wrd)=0 %then %let return=%eval (&i -1);
%end;
&return
%mend wordcnt;
data temp2; set temp;
X = %wordcnt(list=NAME);
run;
proc print data=temp2; run;
TIA
Charles
Sent via Deja.com
http://www.deja.com/
|