7 Replies Latest reply: Oct 13, 2015 9:31 AM by Ankur Rai

# Firstsortedvalue question.

I am trying to find out city for which I have maximum Applications. Each application has a unique id : AppId. My expression returns null.

Expression:

vFirstCity=FirstSortedValue (City,Aggr(Count(AppId),City ))

• ###### Re: Firstsortedvalue question.

For max you will need a negative sign next to the Aggr function:

vFirstCity=FirstSortedValue(City, -Aggr(Count(AppId), City))

• ###### Re: Firstsortedvalue question.

Thanks a lot for quick revert.Extremely silly mistake.Anyway to get any value if there are multiple cities with same count ?

• ###### Re: Firstsortedvalue question.

You can use a Concat() function to see them all:

=Concat(Aggr(FirstSortedValue(City, -Aggr(Count(AppId), City)), City), ', ')

• ###### Re: Firstsortedvalue question.

You can choose a second criteria, dividing by a large number

FirstSortedValue(City, -Aggr(Count(AppId), City) + count(otherfield)/10000 )

• ###### Re: Firstsortedvalue question.

That makes sense. Thanks.

• ###### Re: Firstsortedvalue question.

Hi,

Here is an extract from the Reference Manual. Hope this helps.

firstsortedvalue ( [ distinct ] expression [, sort-weight [, n ]] )

returns the first value of expression sorted by corresponding sortweight

when expression is iterated over a number of records as

defined by a group by clause. Sort-weight should return a numeric

value where the lowest value will render the corresponding value of

expression to be sorted first. By preceding the sort-value expression

with a minus sign, the function will return the last value instead. If

more than one value of expression share the same lowest sort-order,

the function will return null. By stating an n larger than 1, you will

get the nth value in order. If the word distinct occurs before the

expression, all duplicates will be disregarded.

• ###### Re: Firstsortedvalue question.

Hi,

Yes for Maximum value,minus sign should be used.

vFirstCity=FirstSortedValue(City, -Aggr(Count(AppId), City))

if you get multiple values then FirstSortedValue() will return null.