BookmarkSubscribeRSS Feed
FHeinen
Fluorite | Level 6

Hi all,

Hope someone can help me with the below issue. As I have not been able to the issue myself and I am running out of ideas. 🙂

I have a similar question as have been previously posted (getting proc report spanrows to work correctly with long lines of text in PDF output) and the work around Usage Note 45549: Wrapped text strings in the first column cause unwanted white space in subsequent ...) mentioned. However, my output format is txt and not ODS PDF. Does this change the anything regarding how to work around this problem? 

kind regards

FHeinen

2 REPLIES 2
RW9
Diamond | Level 26 RW9
Diamond | Level 26

If your going to plain text file, then you would need to put the breaks in yourself.  So create a dataset as you want the output to look like then proc report very basic code.  This is a bit of a hack, but shows the kind of thing:

data have;
  var1="This is an example of a description that is too long so it wraps down to the next line";
  var2="Manager"; var3=3; id=1; output;
  var2="staff"; var3=2; id=2; output;
  var2="peer"; var3=3; id=3; output;
run;

proc sort data=have out=inter (keep=var1) nodupkey;
  by var1;
run;

data inter (drop=i);
  set inter;
  retain id;
  length var_res $30;
  if _n_=1 then id=1;
  do i=1 to countw(var1);
    if lengthn(strip(var_res)||" "||scan(var1,i," ")) <= 30 then var_res=strip(var_res)||" "||scan(var1,i," ");
    else do;
      output;
      id=id+1;
      var_res=scan(var1,i," ");
    end; 
  end;
run;

proc sql;
  create table WANT as
  select  B.VAR_RES as VAR1,
          A.VAR2,
          A.VAR3
  from    WORK.HAVE A
  left join WORK.INTER B
  on      A.ID=B.ID;
quit;
Tim_SAS
Barite | Level 11

Whe you say the output format is text, I assume you're writing to the SAS listing (or some other non-styled output file). In this case the solutions that rely on ODS styles won't work and SPANROWS doesn't apply. You'll have to fall back to the old-school PROC REPORT listing options. Check out the WIDTH and FLOW options on the DEFINE statement for example.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

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
  • 765 views
  • 0 likes
  • 3 in conversation