I have perhaps something for you:
we will combine the below() function (to take data below) and the number of rows.
The row you want to take is sth like: NoOfRows()- 2*rowno()+1
Where NoofRows() returns the number of rows of your table
rowno() returns the current row number
If i encapsulate everything: = below(sum([Sales]), NoOfRows()- 2*rowno()+1)
Well easy No I am kidding ! 30 minuts I am trying to get it ....
subfield (concat(total aggr(sum([Ventes Unite]), FABRICANT_LName) , '|', -aggr(sum([Ventes Unite]), FABRICANT_LName)), '|', rowno())
where : FABRICANT_LNAME is my dimension of the chart and [Ventes Unite] my expression
In fact, I do a concatenation of the Expression in the tab : aggr(sum(expression), DimOftheTab)). The last parameter of concat is the sort order: I want highest values first, therefore I inverse it : -aggr(....)
Once this concatenation done, I just use subfield that extract the Nth field. where N is the number of the line returned by rowno()