
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ranking position on a text box
Hi all,
I need to build a text object showing the position (ranking) of the customer against it's competitors.
Given the following source data:
Customer Valuation
A 90%
B 95%
C 70%
We need that when the user filters a customer, the text box shows it's position (ranking) against the other competitors.
In the example before A is the 2nd, B is the 1st and C is the 3rd, according to the column Valuation. So when the user filters customer A we need to see in the text box something like '#2'.
Thanks in advance!
Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try this kind of expression:
=Aggr(Rank(Sum({<Dim>} Value)), Dim)
Sample Script:
Table:
LOAD * Inline [
Dim, Value
A, 90
B, 95
C, 70
];

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I would recommend adding an expression for rank using the rank function within set analysis - if you do this I believe you will need to use the '1' option in set analysis to make sure your ranking is based on your entire dataset isntead of what is selected

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks to both of you, It works perfect!!!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Every one again,
as the solution provided works for the initial question, there is another point I did not realize when posting it. The probles is the same, but I need that the rank acts only over some registers. With this sample script:
Sample Script:
Table:
LOAD * Inline [
Dim1, Dim2, Value
A, X, 90
B, X, 95
C, Y, 70
D, X, 60
];
I need that the mentioned expression: =Aggr(Rank(Sum({<Dim1>} Value)), Dim1) takes into consideration for the ranking just the registers where Dim2 is 'X'.
so in the example provided, for D the ranked value should be 3rd instead of 4th.
Any help?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try this:
=Aggr(Rank(Sum({<Dim1, Dim2 = {'X'}>} Value)), Dim1)

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Perfect thanks

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi,
this post is really useful ,
this syntax also works fine when you select values from a list box,
but when am trying to replicate this logic with hardcoding values for a dimension ,it doesn't seems to be working
fine,can u please help in this regard:
like for eg:rank(count({<dimension>}distinct id),dimension)
this is working fine,so if I select any value from the list box giving the right rank,
but if I do like this:rank(count({<dimension={'value1'}>}distinct id),dimension)
this is not taking the right ranks for the dimension values
(selections made on the sheet for other filters)
