# FirstSortedValue

FirstSortedValue() returnerar ett värde från uttrycket som har angetts under value som motsvarar resultatet av sorteringen av argumentet sort\_weight. rank tas med i beräkningen om detta är angivet. 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:

* 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. Bestämningen TOTAL kan följas av en lista med ett eller flera fältnamn inom vinkelparenteser &lt;fld&gt;. Dessa fältnamn bör ingå i en underuppsättning av diagrammets dimensionsvariabler.

  [Definiera aggregeringens omfattning](https://help.qlik.com/sv-SE/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)

Exempel:

Exempel och resultat

| Exempel | Resultat |
| --- | --- |
| `firstsortedvalue (Product, UnitPrice)` | BB, som är en `Product` med det lägsta `UnitPrice`(9). |
| `firstsortedvalue (Product, UnitPrice, 2)` | BB, som är en `Product` med det näst lägsta `UnitPrice`(10). |
| `firstsortedvalue (Customer, -UnitPrice, 2)` | Betacab, som är en `Customer`med den `Product` som har det nästa högsta `UnitPrice`(20). |
| `firstsortedvalue (Customer, UnitPrice, 3)` | NULL, eftersom det finns två värden för `Customer` (Astrida och Canutility) med sammarank (tredje lägsta) `UnitPrice`(15).<br><br>Använd kvalificerarendistinct för att försäkra dig om att inga oväntade null-resultat uppstår. |
| `firstsortedvalue (Customer, -UnitPrice*UnitSales, 2)` | Canutility, vilket är `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 '|');`

Exempeldata som tabell

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

## Mer information

* [Set-analys och set-uttryck](https://help.qlik.com/sv-SE/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Definiera aggregeringens omfattning](https://help.qlik.com/sv-SE/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)