BookmarkSubscribeRSS Feed
subh
Calcite | Level 5

Hi,

I have  one sas input table with three column(x y and z).(example below)

X          Y           Z 

---------------------------

11     market     22

33     market     44

55     market     77

I need to display like below(In a single coumn REPORT) by proc report in ods rtf

REPORT

--------------

11

market    

22

33

market    

44

55

market    

77



Please help me how to do the sas code for this.


Thank You.

2 REPLIES 2
ballardw
Super User

I'm not sure if Proc Report will let you do something like that without lots of headaches.

But this may help:

data _null_;

     file print;

     set have;

     if _n_= 1 then put "Report";  /* I'm skipping the underline as there's enough system dependencies

I don't want to add complexity at this point*/

     put x;

     put y;

     put z;

end;

Cynthia_sas
SAS Super FREQ

Hi: First of all, the SAS/GRAPH forum is not the correct place to post a PROC REPORT question. But neither PROC PRINT nor PROC REPORT would produce a report like this without restructuring the data. If the OP wants an RTF output file, then they might consider using either a program like yours or something like this for a report.

Cynthia

** Method 1 Use File PRINT ODS;

ods rtf file="c:\temp\restructure_data_null.rtf";

data _null_;

title '1) Use DATA step';

length repcol $50;

set sashelp.class(keep=name sex height);

file print ods=(variables=(repcol));

  repcol = '~~~~~~~~~~';

  put _ods_;

  repcol = name;

  put _ods_;

  repcol = sex;

  put _ods_;

  repcol = put(height,4.1);

  put _ods_;

run;

ods rtf close;

** Method 2 Use PROC REPORT;

data restruct;

  length repcol $50;

  set sashelp.class(keep=name sex height);

  varord = 0;

  repord = _n_;

  varord +1;

  repcol = name;

  output;

  varord+1;

  repcol = sex;

  output;

  varord + 1;

  repcol = put(height,4.1);

  output;

run;

ods rtf file="c:\temp\restruct_report.rtf";

proc report data=restruct nowd;

  title '2) Use PROC REPORT with restructured data';

  column repord varord repcol;

  define repord /order noprint;

  define varord / order noprint;

  define repcol/ display;

  compute before repord / style=Header;

    line '~~~~~~~~~~';

  endcomp;

  run;

  ods rtf close;

sas-innovate-2024.png

 

Secure your spot at the must-attend AI and analytics event of 2024: SAS Innovate 2024! Get ready for a jam-packed agenda featuring workshops, super demos, breakout sessions, roundtables, inspiring keynotes and incredible networking events.

 

Register by March 1 to snag the Early Bird rate of just $695! Don't miss out on this exclusive offer. 

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 793 views
  • 0 likes
  • 3 in conversation