Date: Fri, 7 Aug 1998 10:59:14 -0700
Reply-To: Erik Scott <escott@SFO.COM>
Sender: "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From: Erik Scott <escott@SFO.COM>
Organization: San Francisco Online (Televolve, Inc.)
Subject: Re: PROC REPORT question
Content-Type: text/plain; charset=us-ascii
I have never found a "clean way" to do this. I accomplish this by creating a
dummy variable in my dataset that has a unique valu for each observation. Add
the variable in my column statement. Define the variable as a grouping
variable
with the noprint option. Then I have break after / skip statement that creates
the double spacing. See the modified SAS sample code below.
Erik
title;footnote;
proc format library=sasuser;
value $sctrfmt 'se' = 'Southeast'
'ne' = 'Northeast'
'nw' = 'Northwest'
'sw' = 'Southwest';
value $mgrfmt '1' = 'Smith' '2' = 'Jones'
'3' = 'Reveiz' '4' = 'Brown'
'5' = 'Taylor' '6' = 'Adams'
'7' = 'Alomar' '8' = 'Andrews'
'9' = 'Pelfrey';
value $deptfmt 'np1' = 'Paper'
'np2' = 'Canned'
'p1' = 'Meat/Dairy'
'p2' = 'Produce';
run;
data sasuser.grocery;
input sector $ manager $ dept $ sales @@;
cards;
se 1 np1 50 se 1 p1 100 se 1 np2 120 se 1 p2 80
se 2 np1 40 se 2 p1 300 se 2 np2 220 se 2 p2 70
nw 3 np1 60 nw 3 p1 600 nw 3 np2 420 nw 3 p2 30
nw 4 np1 45 nw 4 p1 250 nw 4 np2 230 nw 4 p2 73
nw 9 np1 45 nw 9 p1 205 nw 9 np2 420 nw 9 p2 76
sw 5 np1 53 sw 5 p1 130 sw 5 np2 120 sw 5 p2 50
sw 6 np1 40 sw 6 p1 350 sw 6 np2 225 sw 6 p2 80
ne 7 np1 90 ne 7 p1 190 ne 7 np2 420 ne 7 p2 86
ne 8 np1 200 ne 8 p1 300 ne 8 np2 420 ne 8 p2 125
;
/* Directions for Submitting Sample Code */
options nodate nonumber ps=18 ls=70 fmtsearch=(sasuser);
/*create the dummy variable counter for line breaks*/
data grocery;
set sasuser.grocery;
counter+1;
run;
proc report data=grocery nowd;
column counter manager dept sales; *add counter to the column
statement;
where sector='se';
define counter / group noprint; *define counter as a group
variable with the noprint option;
format manager $mgrfmt.;
format dept $deptfmt.;
format sales dollar11.2;
break after counter / skip; *create the double spacing;
title 'Sales for the Southeast Sector';
title2 "for &sysdate";
run;
Adrian Boldan wrote:
> Dave Devoll (devoll@flash.net) wrote:
> : Is there a clean way (I'm currently using a not-so-clean way) to force PROC
> : REPORT to put a blank line between detail lines? Essentially, I'm looking
> : to do what the DOUBLE option does for PROC PRINT.
>
> When nothing works, read the manual! :-)
>
> proc print data=sales.qtr02 noobs split='/' double;
>
> SAS Language and Procedures, p. 355.
>
> --
> *** Learn Esperanto - the International Language! ***
> One language for all | Unu por chiuj,
> the second for everyone! | la dua por chiu!