The SAS Output Delivery System and reporting techniques

Producing a report one observation per page

Reply
Occasional Contributor
Posts: 7

Producing a report one observation per page

I vaguely remember by using Proc Report we can produce a report with all variables listed vertically for each of the observations in the dataset, but I couldnt remember the syntax for that. Could someone kindly remind me the syntax?

 

For example, if I have a data set with the following observations

 

Name   Sex   Age

John     M      30

Max      M      56

Ann       F      19

 

I would like to have a report displayed this way

 

Name: John

Sex:     M

Age:     30

 

Name:  Max

Sex:      M

Age:      56

 

Name:   Ann

Sex:       F

Age:      19

Super Contributor
Posts: 275

Re: Producing a report one observation per page

option nodate;
ods pdf file='c:\temp\test.pdf' ;
title "";
proc report data=sashelp.class(obs=3) nowd headline headskip;
define name/group ;
break after name/ page;
run;
ods pdf close;
Occasional Contributor
Posts: 7

Re: Producing a report one observation per page

Thank you, but this would still list the variables as columns , not vertically as shown in the example, right?

Super User
Super User
Posts: 7,077

Re: Producing a report one observation per page

Are you sure you are not thinking about PROC FSEDIT with the PRINTALL option?

Or if you do not have that licensed just use a data step.

 

 

data _null_;
   file print ;
  set sashelp.class ;
  put (_all_) (=/);
run;
Super Contributor
Posts: 275

Re: Producing a report one observation per page

There are too many steps, I believe there is simple way.

 

proc sort data=sashelp.class out=temp;
by name;
run;

proc transpose data=temp out=temp1;
by name;
var name--age;
run;

data want;
  set temp1;
  if mod(_n_,3)=1 then k+1;
  flag=k;
  Name=cats(_name_,':');
  keep flag name col1;
run;


proc report data=want(obs=3) nowd headskip headline noheader;
define flag/order noprint;
break after flag/page;
run
Ask a Question
Discussion stats
  • 4 replies
  • 477 views
  • 0 likes
  • 3 in conversation