BookmarkSubscribeRSS Feed
tburus
Obsidian | Level 7

I am trying to create a template that will fill slices of a pie using PROC Template and PIECHART. I know I can use DISCRETEATTRMAP, but the problem is I am using this template on automated pie creations with the OTHERSLICE= option enabled, so I don't necessarily know which attributes (or how many) will show up in any given run. I tried using FILLATTRS=(COLOR=()), but this seemed to only allow for one color. Is it possible to define my own color rotation to be used in this manner?

 

My code:

proc template;
define statgraph top5pie;
begingraph;
layout region;
	piechart category = injsite /
	datalabellocation = inside
	datalabelcontent =(percent)
	datalabelattrs = (family='Arial/bold' weight=bold size=12pt color=&Dgold.)
	categorydirection = clockwise
	dataskin = crisp
	start = 180 name = 'pie'
	otherslice=true
  	othersliceopts=(type=percent percent=10 label="Others (Sites < 10% of Total)");
	discretelegend 'pie' /
	title = 'Injury Sites'
	titleattrs=(family='Arial' size=12pt)
	border=false;
endlayout;
endgraph;
end;
run;

 

sas-innovate-white.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.

 

Early bird rate extended! Save $200 when you sign up by March 31.

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
  • 0 replies
  • 560 views
  • 0 likes
  • 1 in conversation