DATA Step, Macro, Functions and more

define macro variables to create multiple ppt slides

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 5
Accepted Solution

define macro variables to create multiple ppt slides

Hello guys,

 

I need to create data driven macro based on table values to export several ppt slides.

 

this is the table called "Acc":

Acc
261726
109338

79878

 

I need something like the below but instead of number 1-3 assign the values from the table and generate slide for each of the value:

 

%MACRO generate;
%do i=1 %to 3 ;
  
goptions reset= all  device= PNGT;
 
 ods powerpoint
  file="&p\RegionalActivity_&i..ppt" nogtitle nogfootnote
style=htmlblue;
options nodate nonumber;

 goptions reset= all; ods graphics / reset=all;

ods region;

proc odstext;
p "&i"/ style = [font_size = 16pt color=#2f4696 background=a00000000];
run;

  ods layout end;
 ods powerpoint close;
%END;
%MEND generate;

 

%Generate;

 

 

 Can you please advise how to define the variables? Apologies if this was already described but I haven't found appropriate answer.

Thanks!

 

 


Accepted Solutions
Solution
3 weeks ago
Super User
Posts: 10,278

Re: define macro variables to create multiple ppt slides

A typical case for call execute:

%MACRO generate(i);
  
goptions reset= all  device= PNGT;
 
 ods powerpoint
  file="&p\RegionalActivity_&i..ppt" nogtitle nogfootnote
style=htmlblue;
options nodate nonumber;

 goptions reset= all; ods graphics / reset=all;

ods region;

proc odstext;
p "&i"/ style = [font_size = 16pt color=#2f4696 background=a00000000];
run;

  ods layout end;
 ods powerpoint close;
%MEND generate;

data _null_;
set acc;
call execute('%generate(' !! trim(acc) !! ');');
run;
---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code

View solution in original post


All Replies
Solution
3 weeks ago
Super User
Posts: 10,278

Re: define macro variables to create multiple ppt slides

A typical case for call execute:

%MACRO generate(i);
  
goptions reset= all  device= PNGT;
 
 ods powerpoint
  file="&p\RegionalActivity_&i..ppt" nogtitle nogfootnote
style=htmlblue;
options nodate nonumber;

 goptions reset= all; ods graphics / reset=all;

ods region;

proc odstext;
p "&i"/ style = [font_size = 16pt color=#2f4696 background=a00000000];
run;

  ods layout end;
 ods powerpoint close;
%MEND generate;

data _null_;
set acc;
call execute('%generate(' !! trim(acc) !! ');');
run;
---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 1 reply
  • 76 views
  • 0 likes
  • 2 in conversation