PROC REPORT events for use with tagsets

  • Follow


Hi all,

We're using a custom HTML tagset with PROC REPORT.  Under SAS 9.1.3, text
generated with COMPUTE BEFORE _PAGE_ was treated as a header event.
However, under 9.2, that same text has now become a data_note event, so our
tagset no longer picks it up correctly.  To make things trickier, text
placed in the body of the table using compute blocks is also now a
data_note event (it was a data event in 9.1.3).

How can we distinguish between the two text string locations in 9.2, so
that we can apply custom formatting to only the COMPUTE BEFORE _PAGE_
text/events?  We'd prefer to make the change in our tagset, rather than add
a <b> tag to several dozen programs, if possible.

Thank you very much for any help you can provide,
   Nancy

Nancy Brucken
brucken@provide.net
0
Reply brucken (168) 1/7/2010 3:11:43 PM

I would use the supermap tagset to trace all of the event calls, and see if there is a particular sequence that lets you identify compute before _page_ blocks.  If there is, you could set a flag to control the behavior of the data_note event.

Looking at the output from

=====
ods tagsets.supermap file='c:\temp\supermap.xml'
   options(basic_events='all' extra_events="all" basic_verbosity='all' extra_verbosity='all' doc='help');


proc report data=sashelp.class (obs=4) nofs;
   column sex name;
   define sex  / order;
   define name / order;

   break after sex / page;

   compute after name;
      line 'this is in a regular compute';
   endcomp;

   compute before _page_;
      line 'this is before _page_';
   endcomp;

run;

ods tagsets.supermap close;
======

It appears that the page block has section=head, and the name block has section=body.  Perhaps you could use that.

I downloaded the latest version of the supermap tagset.  It's giving me more than I want to see, but I don't know what it's safe to turn off.



--
Jack Hamilton
jfh@alumni.stanford.org
Caelum non animum mutant qui trans mare currunt.

On Jan 7, 2010, at 7:11 am, Nancy Brucken wrote:

> Hi all,
>
> We're using a custom HTML tagset with PROC REPORT.  Under SAS 9.1.3, text
> generated with COMPUTE BEFORE _PAGE_ was treated as a header event.
> However, under 9.2, that same text has now become a data_note event, so our
> tagset no longer picks it up correctly.  To make things trickier, text
> placed in the body of the table using compute blocks is also now a
> data_note event (it was a data event in 9.1.3).
>
> How can we distinguish between the two text string locations in 9.2, so
> that we can apply custom formatting to only the COMPUTE BEFORE _PAGE_
> text/events?  We'd prefer to make the change in our tagset, rather than add
> a <b> tag to several dozen programs, if possible.
>
> Thank you very much for any help you can provide,
>   Nancy
>
> Nancy Brucken
> brucken@provide.net
0
Reply jfh 1/8/2010 6:45:46 AM


Thanks, Jack!  I downloaded a copy of supermap, as well- it was very
helpful.  Now I just have to figure out how to code the equivalent of an
IF-THEN-DO block in a tagset- there are several things we need to do to
format the strings generated by COMPUTE BEFORE _PAGE_ blocks.

Nancy

On Thu, 7 Jan 2010 22:45:46 -0800, Jack Hamilton <jfh@STANFORDALUMNI.ORG>
wrote:

>I would use the supermap tagset to trace all of the event calls, and see
if there is a particular sequence that lets you identify compute before
_page_ blocks.  If there is, you could set a flag to control the behavior
of the data_note event.
>
>Looking at the output from
>
>=====
>ods tagsets.supermap file='c:\temp\supermap.xml'
>   options(basic_events='all' extra_events="all" basic_verbosity='all'
extra_verbosity='all' doc='help');
>
>
>proc report data=sashelp.class (obs=4) nofs;
>   column sex name;
>   define sex  / order;
>   define name / order;
>
>   break after sex / page;
>
>   compute after name;
>      line 'this is in a regular compute';
>   endcomp;
>
>   compute before _page_;
>      line 'this is before _page_';
>   endcomp;
>
>run;
>
>ods tagsets.supermap close;
>======
>
>It appears that the page block has section=head, and the name block has
section=body.  Perhaps you could use that.
>
>I downloaded the latest version of the supermap tagset.  It's giving me
more than I want to see, but I don't know what it's safe to turn off.
>
>
>
>--
>Jack Hamilton
>jfh@alumni.stanford.org
>Caelum non animum mutant qui trans mare currunt.
>
>On Jan 7, 2010, at 7:11 am, Nancy Brucken wrote:
>
>> Hi all,
>>
>> We're using a custom HTML tagset with PROC REPORT.  Under SAS 9.1.3,
text
>> generated with COMPUTE BEFORE _PAGE_ was treated as a header event.
>> However, under 9.2, that same text has now become a data_note event, so
our
>> tagset no longer picks it up correctly.  To make things trickier, text
>> placed in the body of the table using compute blocks is also now a
>> data_note event (it was a data event in 9.1.3).
>>
>> How can we distinguish between the two text string locations in 9.2, so
>> that we can apply custom formatting to only the COMPUTE BEFORE _PAGE_
>> text/events?  We'd prefer to make the change in our tagset, rather than
add
>> a <b> tag to several dozen programs, if possible.
>>
>> Thank you very much for any help you can provide,
>>   Nancy
>>
>> Nancy Brucken
>> brucken@provide.net
0
Reply brucken (168) 1/8/2010 6:59:08 AM

2 Replies
308 Views

(page loaded in 0.081 seconds)

Similiar Articles:













7/25/2012 4:03:40 AM


Reply: