ODS and Base Reporting

Build reports by using ODS to create HTML, PDF, RTF, Excel, text reports and more!
BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
jteres
Obsidian | Level 7

Hi all-

 

 I am sending output from an SGPLOT procedure using BY grouping to ODS POWERPOINT.

 

 I would like each slide to have the title specified by a title statement, the subtitle specified by the title2 statement, and a footnote specified by the footnote statement. I am using #byvar references in the title2 and footnote statements. They work in the title2, but that appears only on the first page. The footnotes appear correctly in my SAS Report output in Enterprise Guide but don't resolve in Powerpoint.

 

I'm using SAS 9.4.3.

 

Here is my code:

 

ods powerpoint file = "cars2.pptx" ;
ods powerpoint layout = TitleAndContent (advance = bygroup) nogtitle nogfootnote ;
title 'MPG Scatterplot' ;
title2 'Split by #byvar1 #byvar2 #byvar3' ;
footnote '#byvar1 = #byval1 #byvar2 = #byval2 #byvar3 = #byval3' ;
proc sgplot data = sorted_cars noautolegend ;
     by   origin
          type
          make ;
     scatter   x = mpg_city
               y = mpg_highway / group = cylinders ;
run ;
ods powerpoint close ;

I tried various things, like turning (advance = bygroup) off and on, and turning gtitle and gfootnote off and on. The slides look the same no matter what I do.

 

I'm a bit stuck here.

 

Thanks!

 

Jed

1 ACCEPTED SOLUTION

Accepted Solutions
Tim_SAS
Barite | Level 11

I think the layout template is doing more harm than good. Try this. For me it creates a PowerPoint document with 114 slides:

ods powerpoint file = "cars2.pptx" nogtitle nogfootnote;
title 'MPG Scatterplot' ;
title2 'Split by #byvar1 #byvar2 #byvar3' ;
footnote '#byvar1 = #byval1 #byvar2 = #byval2 #byvar3 = #byval3' ;
proc sgplot data = sorted_cars noautolegend ;
     by   origin
          type
          make ;
     scatter   x = mpg_city
               y = mpg_highway / group = cylinders ;
run ;
ods powerpoint close ;

View solution in original post

2 REPLIES 2
Tim_SAS
Barite | Level 11

I think the layout template is doing more harm than good. Try this. For me it creates a PowerPoint document with 114 slides:

ods powerpoint file = "cars2.pptx" nogtitle nogfootnote;
title 'MPG Scatterplot' ;
title2 'Split by #byvar1 #byvar2 #byvar3' ;
footnote '#byvar1 = #byval1 #byvar2 = #byval2 #byvar3 = #byval3' ;
proc sgplot data = sorted_cars noautolegend ;
     by   origin
          type
          make ;
     scatter   x = mpg_city
               y = mpg_highway / group = cylinders ;
run ;
ods powerpoint close ;
jteres
Obsidian | Level 7

Thanks Tim! That did the trick.

sas-innovate-white.png

Our biggest data and AI event of the year.

Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.

Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.

 

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.

SAS Training: Just a Click Away

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

Browse our catalog!

Discussion stats
  • 2 replies
  • 5590 views
  • 0 likes
  • 2 in conversation