Date: Mon, 2 Aug 2010 09:37:02 +0200
Reply-To: Andre Wielki <wielki@INED.FR>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Andre Wielki <wielki@INED.FR>
Subject: Re: Why you should always use a RUN statement (A SAS Gotcha)
In-Reply-To: <201007301537.o6UAkthE013706@malibu.cc.uga.edu>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
No Art,
This was the center of my observation : the hidden effect of a run in matter of ods
before the run there was yet a select (or exclude) acting
after there was in matter of rtf no more select acting inside the global ods rtf open-close program.
So in another proc(eventually the same upon other data)
if you encounter many others objects they will be admitted
or if you were using an exclude upon a specific object after the run it will be admitted too.
As you may for a purpose of accumulation of statistical results make use of a
select/exclude object(persist) then in that case only
the before and after the run remain the same (a kind of retain in matter ods?
until you push a exclude none or select all to restore normal functionning.
Is it clear now, despite perhaps french way of thinking/or expression?
Andre
Le 30/07/2010 17:37, Arthur Tabachneck a écrit :
> Andre,
>
> Sorry, I meant to type:
>
>>> glance, shouldn't the "ods rtf show; run;ods rtf show;" read:
>>> ods rtf show; run;ods pdf show; ?
> Art
> --------
> On Fri, 30 Jul 2010 15:54:28 +0200, Andre Wielki<wielki@INED.FR> wrote:
>
>> Art
>>
>> i hope you have seen that in the rtf document the quantiles are present
>> but away from pdf document
>>
>> for the information showed on the log (here in french)
>> the first ods rtf show ; BEFORE the run produce an information that a
> select is acting
>> at the level of OVERALL due to instruction
>> ods select univariate.bygroup1.weight.moments;
>> ==============================
>> La liste RTF select actuelle est mise � la valeur par d�faut (ALL).
>> La liste OVERALL select actuelle est :
>> 1.univariate.bygroup1.weight.moments<===========================
>> NOTE: Proc�dure UNIVARIATE a utilis� (Dur�e totale du traitement) :
>> temps r�el 0.01 secondes
>> temps UC 0.01 secondes
>> ===============================
>>
>> but the second ods rtf show; AFTER the run show you that
>> After a run (except if you have made use of a (persist) option in a
> exclude or select ods statement)
>> the select is set again to ALL without restriction for both
>> levels rtf and overall.
>> La liste RTF select actuelle est mise � la valeur par d�faut (ALL).
>> La liste OVERALL select actuelle est : ALL<===================
>> 364 ods rtf close;ods pdf close;
>>
>> Andre
>> see in your text
>>
>>
>> Le 30/07/2010 14:51, Arthur Tabachneck a �crit :
>>> Andre,
>>>
>>> My ODS skills aren't yet at the level I'd like them to be but, on quick
>>> glance, shouldn't the "ods rtf show; run;ods rtf show;" read:
>>> ods rtf show; run;ods rtf show; ?
>>>
>> i don't see the difference between
>>
>> ods rtf show; run;ods rtf show;
>> and
>> ods rtf show; run;ods rtf show;
>>
>>
>>
>>> And, if so, does that make a difference to the before and after runs?
>>>
>>> Art
>>> --------
>>> On Fri, 30 Jul 2010 14:08:49 +0200, Andre Wielki<wielki@INED.FR> wrote:
>>>
>>>> To add to the long list of contribution in that matter
>>>> (two weeks ago)
>>>>
>>>> in the following program in a ODS context
>>>>
>>>> proc sort data=sashelp.class out=trie;by sex;run;
>>>> ods listing close;
>>>> ods rtf file="d:\temp\p.rtf";ods pdf file="d:\temp\p.pdf";
>>>> ods exclude extremeobs testsforlocation ;
>>>> ods pdf exclude quantiles ;
>>>> ods rtf show;ods pdf show;
>>>> proc univariate data=sashelp.class;
>>>> var weight;run;
>>>> ods select summary;
>>>> proc means data=trie;
>>>> var height;by sex;run;
>>>> ods select univariate.bygroup1.weight.moments;
>>>> proc univariate data=trie;by sex;
>>>> var weight;
>>>> ods rtf show; run;ods rtf show;
>>>> ods rtf close;ods pdf close;
>>>> ods listing;
>>>>
>>>> you will see a difference of results for the same ods ... show
> instruction
>>>> before and after a run; see ods rtf show; run;ods rtf show;
>>>>
>>>> This is a detail but at least an argument to always use...
>>>>
>>>> Andre
>>>>
>>>> --
>>>> 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
>> --
>> 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
--
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
|