# 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 | 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/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Exempel: diagramuttryck

| Exempel | Resultat |
| --- | --- |
| `FirstSortedValue (Product, UnitPrice)` | Returnerar den `Product` som har lägst `UnitPrice`. |
| `FirstSortedValue (Product, UnitPrice, 2)` | Returnerar den `Product` som har näst lägst `UnitPrice`. |
| `FirstSortedValue (Customer, -UnitPrice, 2)` | Returnerar den `Customer` med den `Product` som har näst högst `UnitPrice`. |
| `FirstSortedValue (Customer, -UnitPrice*UnitSales, 2)` | Returnerar den `Customer` med näst högst säljordervärdet, `UnitPrice` multiplicerat med `UnitSales`. |

## Exempel – grunderna i FirstSortedValue

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/firstsortedvalue.htm)

#### Diagramuttryck

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `Customer`

  * `Product`

  * `UnitSales`

  * `UnitPrice`

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som mått:

* `=FirstSortedValue (Product, UnitPrice)`, för att beräkna produkten med det lägsta priset per enhet.

* `=FirstSortedValue (Product, UnitPrice, 2)`, för att beräkna produkten med det näst lägsta priset per enhet.

* `=FirstSortedValue (Customer, -UnitPrice, 2)`, för att beräkna kunden med den produkt som har det näst högsta priset per enhet.

* `=FirstSortedValue (Customer, UnitPrice, 3)`, för att beräkna kunden med den produkt som har det tredje högsta priset per enhet.

* `=FirstSortedValue (Customer, -UnitPrice*UnitSales, 2)`, för att beräkna kunden med näst högst säljordervärdet, `UnitPrice` multiplicerat med `UnitSales`.

Results table

| FirstSortedValue (Product, UnitPrice) | FirstSortedValue (Product, UnitPrice, 2) | FirstSortedValue (Customer, -UnitPrice, 2) | FirstSortedValue (Customer, UnitPrice, 3) | FirstSortedValue (Customer, -UnitPrice\*UnitSales, 2) |
| --- | --- | --- | --- | --- |
| BB | BB | Betacab | - | Canutility |

Den första kolumnen returnerar värdet `BB` eftersom detta är den produkt som har lägst `UnitPrice` (`9`)

Den andra kolumnen returnerar värdet `BB` eftersom detta är produkten med näst lägst `UnitPrice` (`10`)

Den tredje kolumnen ger värdet `Betacab`, som är den `Customer` med den `Product` som har näst högst `UnitPrice` (`20`).

Den fjärde kolumnen ger värdet `NULL`, eftersom det finns två värden på `Customer` (`Astrida` och `Canutility`) med samma rangordning (tredje lägsta) `UnitPrice` `15`.

Den femte kolumnen returnerar `Canutility`, som är den `Customer` som har näst högst säljordervärde, `UnitPrice` multiplicerat med `UnitSales` (`120`).

## Exempel – scenario för FirstSortedValue

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/firstsortedvalue.htm)

#### Diagramuttryck

Översikt

En datauppsättning innehåller försäljningssiffror för årets tre första månader. Regionchefen vill identifiera de bäst och sämst säljande produkterna för att planera för framtida lagerhållning.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `Date`

  * `SalesProduct`

  * `Category`

  * `Sales`

Laddningsskript

```
Example:
Load * inline [
Date,SalesProduct, Category, Sales
2024-01-01, Apple, Fruit, 100
2024-01-15, Banana, Fruit, 80
2024-01-30, Carrot, Vegetable, 50
2024-02-05, Apple, Fruit, 120
2024-02-20, Banana, Fruit, 90
2024-02-28, Carrot, Vegetable, 60
2024-03-10, Apple, Fruit, 110
2024-03-22, Banana, Fruit, 85
2024-03-31, Carrot, Vegetable, 55
];
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

* `Category`

Skapa följande mått:

* `=FirstSortedValue(SalesProduct, -Sales)`, för att beräkna den bäst säljande produkten i varje kategori.

* `=FirstSortedValue(TOTAL SalesProduct, -Sales)`, för att beräkna den bäst säljande produkten överlag.

* `=FirstSortedValue(TOTAL SalesProduct, Sales)`, för att beräkna den lägst säljande produkten överlag.

Results table

| Category | FirstSortedValue(SalesProduct, -Sales) | FirstSortedValue(TOTAL SalesProduct, -Sales) | FirstSortedValue(TOTAL SalesProduct, Sales) |
| --- | --- | --- | --- |
| Fruit | Apple | Apple | Carrot |
| Vegetable | Carrot | Apple | Carrot |

Resultatet visar att `Apple` och `Carrot` är de mest sålda produkterna i sina respektive kategorier, `Fruit` och `Vegetable`. I alla kategorier var dock `Apple` den bäst säljande produkten och `Carrot` den sämst säljande produkten.

## Mer information

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