Date: Thu, 25 Oct 2007 06:00:54 -0500
Reply-To: "data _null_," <datanull@GMAIL.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: "data _null_," <datanull@GMAIL.COM>
Subject: Re: ODS OUTPUT (PERSIST=PROC) was Making a Dataset with the
Cumulative Frequency Distribution
In-Reply-To: <472072E0.7060901@ined.fr>
Content-Type: text/plain; charset=ISO-8859-1
No MATCH_ALL. I already know how to use that. Plus I don't want to
have to write a macro for something so trivial.
On 10/25/07, Andre Wielki <wielki@ined.fr> wrote:
> Data _null_,
>
> here is a way to obtain a rank in your way of work
> and the variable table recover its meaning.
>
> options nocenter ls=64;
> data work.test;
> input y x f1 f2 f3;
> cards;
> 1 .5 1 1 0
> 1.1 1 1 0 1
> 1.3 2 0 1 0
> 1.5 2.5 2 1 2
> ;;;;
> run;
> %macro runproc;
> ods listing close;
> ods output OneWayFreqs(MATCHALL=F PERSIST=PROC)=OneWayFreqs;
> proc freq data=test;
> tables y / nopercent;
> weight f1 / zeros;
> run;
> proc freq data=test;
> tables y / nopercent;
> weight f2 / zeros;
> run;
>
> proc freq data=test;
> tables y / nopercent;
> weight f1 / zeros;
> run;
> proc freq data=test;
> tables x / nopercent;
> weight f2 / zeros;
> run;
> ods output close;
> * you have a macro variable with the list of the names of the tables;
> data result;
> set %do i=1 %to 4; %scan(&f,&i)(in=i&i)%end; ;
> select;
> when (i1) _run_=1;when (i2) _run_=2;
> when (i3) _run_=3;when (i4) _run_=4;
> otherwise;
> end;
> run;
> %mend;
> %runproc
> ods listing;
>
> HTH
> Andre
>
>
> >
> >
> > I would like to know if anyone knows how to control the values of
> > _PROC_ and _RUN_. It would be helpful to have _RUN_ be 2 for data
> > produced by the second run of PROC FREQ. I find it interesting that
> > "TABLE" is BLANK for the data from the second call to PROC FREQ.
> >
> > Are there ODS statement that can help make the a more useful output.
> >
> >
>
>
> --
> André WIELKI
> INED (Institut National d'Etudes Démographiques)
> Service Informatique
> 133 Boulevard Davout 75980 Paris Cedex 20
> mél : wielki@ined.fr tél : 33 (0) 1 56 06 21 54
>
>
>
|