Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
kicchu465
Creator
Creator

RE:First sorted value

Hi all,

Am new to Qlik

In which scenario First sorted value function used  can anyone give with simple example to understand better

Thanks

2 Replies
HirisH_V7
Master
Master

Hello ,

Check this,

https://qlikcentral.com/2014/08/13/firstsortedvalue/

Using FirstSortedValue in the Script

-Hirish

HirisH
“Aspire to Inspire before we Expire!”
subhash_gherade
Contributor III
Contributor III

hi may this help

FirstSortedValue - chart function

FirstSortedValue() returns the value from the expression specified in value that corresponds to the result of sorting the sort_weight argument, for example, the name of the product with the lowest unit price. The nth value in the sort order, can be specified in rank. If more than one resulting value shares the same sort_weight for the specified rank, the function returns NULL.

Syntax:

FirstSortedValue([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] value, sort_weight [,rank])

Return data type: dual

Arguments:

ArgumentDescription
valueOutput field. The function finds the value of the expression value that corresponds to the result of sorting sort_weight.
sort_weight

Input field. The expression containing the data to be sorted. The first (lowest) value of sort_weight is found, from which the corresponding value of the value expression is determined. If you place a minus sign in front of sort_weight, the function returns the last (highest) sorted value instead.

rank

By stating a rank "n" larger than 1, you get the nth sorted value.

SetExpressionBy default, the aggregation function will aggregate over the set of possible records defined by the selection. An alternative set of records can be defined by a set analysis expression.
DISTINCTIf the word DISTINCT occurs before the function arguments, duplicates resulting from the evaluation of the function arguments are disregarded.
TOTAL

If the word TOTAL occurs before the function arguments, the calculation is made over all possible values given the current selections, and not just those that pertain to the current dimensional value, that is, it disregards the chart dimensions.

By using TOTAL [<fld {.fld}>], where the TOTAL qualifier is followed by a list of one or more field names as a subset of the chart dimension variables, you create a subset of the total possible values.

See: Defining the aggregation scope

Examples and results:

CustomerProductUnitSalesUnitPrice
AstridaAA416
AstridaAA1015
AstridaBB99
BetacabBB510
BetacabCC220
BetacabDD-25
CanutilityAA815
CanutilityCC-19
ExampleResult
firstsortedvalue (Product, UnitPrice)

BB, which is the Productwith the lowest UnitPrice(9).

firstsortedvalue (Product, UnitPrice, 2)

BB, which is the Productwith the second-lowest UnitPrice(10).

firstsortedvalue (Customer, -UnitPrice, 2)

Betacab, which is the Customerwith the Product that has second-highest UnitPrice(20).

firstsortedvalue (Customer, UnitPrice, 3)

NULL, because there are two values of Customer (Astrida and Canutility) with the samerank (third-lowest) UnitPrice(15).

Use the distinct qualifier to make sure unexpected null results do not occur.

firstsortedvalue (Customer, -UnitPrice*UnitSales, 2)

Canutility, which is the Customer with the second-highest sales order value UnitPricemultiplied by UnitSales (120).

Data used in examples:

ProductData:

LOAD * inline [

Customer|Product|UnitSales|UnitPrice

Astrida|AA|4|16

Astrida|AA|10|15

Astrida|BB|9|9

Betacab|BB|5|10

Betacab|CC|2|20

Betacab|DD||25

Canutility|AA|8|15

Canutility|CC||19

] (delimiter is '|');