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
Diamond | Level 26

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;

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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