# FirstSortedValue - diagramfunktion

FirstSortedValue() returnerar värdet från det uttryck som har angetts i value som motsvarar resultatet av sorteringen av sort\_weight-argumentet, exempelvis namnet på produkten med det lägsta enhetspriset. Det n:te värdet i sorteringsordningen kan anges i rank. Om fler än ett resultatvärde delar samma sort\_weight för den angivna rank returnerar funktionen NULL.

Syntax:

FirstSortedValue([{SetExpression}] [DISTINCT] [TOTAL [&lt;fld {,fld}&gt;]] value, sort\_weight [,rank])

Returnerad datatyp: dual

Argument:

Argument

| Argument | Beskrivning |
| --- | --- |
| value | Utdatafält. Funktionen finner värdet av uttrycket value som motsvarar resultatet vid sortering av sort\_weight. |
| sort\_weight | Indatafält. Uttrycket som innehåller data som ska sorteras. Det första (lägsta) värdet i sort\_weight hittas, varifrån motsvarande värde i uttrycket value fastställs. Om du sätter ett minustecken framför sort\_weight returnerar funktionen det sista (högsta) sorterade värdet i stället. |
| rank | Genom att ange rank "n" som är större än 1 får du det n:te sorterade värdet. |
| SetExpression | Som standard kommer aggregeringsfunktionen att aggregera över den uppsättning möjliga poster som definierats av urvalet. En alternativ uppsättning poster kan definieras med ett uttryck för set-analys. |
| DISTINCT | Om predikatet DISTINCT förekommer framför funktionsargumenten ignoreras alla dubbletter som evaluerats utifrån funktionsargumenten. |
| TOTAL | Om ordet TOTAL står före funktionsargumenten görs beräkningen över alla valbara värden givet de aktuella valen, och inte bara sådana som rör det aktuella dimensionsvärdet, det vill säga att diagramdimensionerna ignoreras.<br><br>Genom att använda TOTAL [&lt;fld {.fld}&gt;], där kvalificeraren TOTAL följs av en lista med ett eller flera fältnamn som en delmängd av diagramdimensionens variabler, skapar du en delmängd av de totala möjliga värdena.<br><br>[Definiera aggregeringens omfattning](https://help.qlik.com/sv-SE/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Exempel och resultat:

Data

| 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 |

Exempel och resultat

| Exempel | Resultat |
| --- | --- |
| `firstsortedvalue (Product, UnitPrice)` | BB som är den `Product` med lägst `UnitPrice`(9). |
| `firstsortedvalue (Product, UnitPrice, 2)` | BB som är den `Product` med näst lägst `UnitPrice`(10). |
| `firstsortedvalue (Customer, -UnitPrice, 2)` | Betacab som är den `Customer` med den `Product` som har näst högst `UnitPrice`(20). |
| `firstsortedvalue (Customer, UnitPrice, 3)` | NULL, eftersom det finns två värden på `Customer` (Astrida och Canutility) med samma rank (tredje lägsta) `UnitPrice`(15).<br><br>Använd kvalificeraren distinct för att se till att det inte uppstår oväntade null-resultat. |
| `firstsortedvalue (Customer, -UnitPrice*UnitSales, 2)` | Canutility, som är den `Customer` med det näst högsta säljordervärdet `UnitPrice`multiplicerat med `UnitSales` (120). |

Data som används i exempel:

`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 '|');`

## Mer information

* [Set-analys](https://help.qlik.com/sv-SE/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Definiera aggregeringens omfattning](https://help.qlik.com/sv-SE/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)