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;

 

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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