5 Replies Latest reply on Oct 22, 2013 12:13 PM by Alex Kerin

# Dynamically label/annotate Pareto 80/20 points

Is there a way to dynamically label the 80/20 points of a Pareto charts?  In the attached picture, if you change any filter the annotations move with the marks or points.  In fact, if the annotation is to a mark that isn't included after the filter, the annotation disappears.

• ###### 1. Re: Dynamically label/annotate Pareto 80/20 points

Something like the following should do the trick.

The one cuationary tale with this is that it is an approximation. I am not calculating the values at exactly 20 or 80 %. I am calculating the values are the last point before that threshold is crossed.

I hope this helps,

Dan

• ###### 2. Re: Dynamically label/annotate Pareto 80/20 points

Brilliant!  Thanks Dan.

• ###### 3. Re: Dynamically label/annotate Pareto 80/20 points

Nice solution - I had looked to rounding the %, but that could result in more than one result...

• ###### 4. Re: Dynamically label/annotate Pareto 80/20 points

Nice work, Dan! I couldn't figure out any easy way around the issue you noted...If I was working with a sparser data set (which is mostly what I work with) I'd probably pad out the data with a couple of extra rows to make the marks for the circles, so as to be able to accurately position the circles no matter where the customers are.

• ###### 5. Re: Dynamically label/annotate Pareto 80/20 points

You could also interpolate between the points - it wouldn't give you a more accurate position on the chart for the mark, but the % value should be better:

This is the equation for the 80% line:

IF [Sales %]>.8 and lookup([Sales %],-1)<=.8 THEN "80% of Sales come from " + left(str(

(lookup([Customer %],-1)+

(([Sales %]-0.8)*([Customer %]-lookup([Customer %],-1)))/([Sales %]-lookup([Sales %],-1))

)*100

),5) + "% of Customers" END

Just a linear interpolation, so this method will always overestimate the actual value if there is any curve to the pareto.