BookmarkSubscribeRSS Feed
Ronein
Onyx | Level 15
i have a macro that i run .
The macro creates multiple tables with different names and print them.
Before proc print statement i have titles ststements
The problem is that for each tqble that printed out there are titles.
I want that the titles will appear only appove first printed table.
Any solution to this request?
3 REPLIES 3
Ronein
Onyx | Level 15
Hello

i have a macro that i run .
The macro creates multiple tables with different names and print them.
Before proc print statement i have titles ststement.
The problem is that for each table that printed out there are titles.
I want that the titles will appear only above first printed table.
Any solution to this request?

Shmuel
Garnet | Level 18

Check next skilton:

 

%let title_flag = 1;  /* initiate title flag to be printed */

 

%macro ....;

    %if &title_flag = 1 %then %do;

           %let title_flag =0;

           title ..... ;

    %end; %else %str(title;);    /* clear titles */

      ......    your macro program ......

%mend;

s_lassen
Meteorite | Level 14

As @Shmuel suggested, use a blank title statement to lear the titles. But I would suggest making the code a bit simpler:

%macro whatever;
  Title '<your inititial title here>';
  %do <assuming you have your print statements in a loop>;
    <proc print statements here>;
    Title;
    %end;
%mend;

In other words, just clear the titles at the end of every iteration; an empty TITLE statement is not very expensive.

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