# FirstSortedValue - diagramfunctie

FirstSortedValue() retourneert de waarde van de uitdrukking die is opgegeven in value die overeenkomt met het resultaat van het sorteren van sort\_weight-argument, bijvoorbeeld de naam van het product met de laagste prijs per eenheid. U kunt de nde waarde in de sorteervolgorde opgeven in rank. Als meer dan één uitkomst dezelfde sort\_weight voor de opgegeven rank deelt, retourneert de functie NULL.

Syntaxis:

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

Retourgegevenstypen: dubbele waarde

Argumenten

| Argument | Beschrijving |
| --- | --- |
| value | Uitvoerveld. De functie vindt de waarde van de uitdrukking value die overeenkomt met het resultaat van de sortering sort\_weight. |
| sort\_weight | Invoerveld. De uitdrukking die de gegevens bevat die moeten worden gesorteerd. De eerste (laagste) waarde van sort\_weight wordt gevonden, op basis waarvan de overeenkomstige waarde van de uitdrukking value wordt bepaald. Als u een minteken vóór sort\_weight plaatst, retourneert de functie de laatste (hoogste) gesorteerde waarde. |
| rank | Door een rank "n" op te geven die groter is dan 1, krijgt u de n-de gesorteerde waarde. |
| SetExpression | De aggregatiefunctie aggregeert standaard over de set mogelijke records die wordt gedefinieerd door de selectie. Met de uitdrukking Set-analyse kunt u een alternatieve set records definiëren. |
| DISTINCT | Als het woord DISTINCT voor de argumenten van de functie wordt geplaatst, worden duplicaten die het resultaat zijn van de evaluatie van de argumenten van de functie genegeerd. |
| TOTAL | Als het woord TOTAL voor de functieargumenten staat, wordt de berekening gemaakt op basis van alle mogelijke waarden bij de huidige selecties, en niet alleen de selecties die betrekking hebben op de huidige dimensiewaarde. Dit betekent dat de dimensies van het diagram worden genegeerd.<br><br>Wanneer u TOTAL [&lt;fld {.fld}&gt;] gebruikt en de TOTAL-kwalificatie wordt gevolgd door een lijst van één of meer veldnamen als subset van de dimensievariabelen van het diagram, maakt u een subset van de totale mogelijke waarden.<br><br>[Het aggregatiebereik definiëren](https://help.qlik.com/nl-NL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Voorbeeld: diagramuitdrukkingen

| Voorbeeld | Resultaat |
| --- | --- |
| `FirstSortedValue (Product, UnitPrice)` | Retourneert het `Product` met de laagste `UnitPrice`. |
| `FirstSortedValue (Product, UnitPrice, 2)` | Retourneert het `Product` met de op één na laagste `UnitPrice`. |
| `FirstSortedValue (Customer, -UnitPrice, 2)` | Retourneert de `Customer` met het `Product` met de op één na hoogste `UnitPrice`. |
| `FirstSortedValue (Customer, -UnitPrice*UnitSales, 2)` | Retourneert de `Customer`, met de op één na hoogste verkooporderwaarde, `UnitPrice` vermenigvuldigd met de `UnitSales`. |

## Voorbeeld - Basisprincipes voor FirstSortedValue

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

#### Diagramuitdrukking

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `Customer`

  * `Product`

  * `UnitSales`

  * `UnitPrice`

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als metingen:

* `=FirstSortedValue (Product, UnitPrice)`, om het product met de laagste eenheidsprijs te berekenen.

* `=FirstSortedValue (Product, UnitPrice, 2)`, om het product met de op één na laagste eenheidsprijs te berekenen.

* `=FirstSortedValue (Customer, -UnitPrice, 2)`, om de klant met het product met de op één na hoogste eenheidsprijs te berekenen.

* `=FirstSortedValue (Customer, UnitPrice, 3)`, om de klant met het product met de op twee na hoogste eenheidsprijs te berekenen.

* `=FirstSortedValue (Customer, -UnitPrice*UnitSales, 2)`, om de klant met de op één na hoogste verkooporderwaarde te berekenen, `UnitPrice` vermenigvuldigd met de `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 |

De eerste kolom retourneert de waarde `BB`, omdat dit het product is dat de laagste `UnitPrice` (`9`) heeft.

De tweede kolom retourneert de waarde `BB`, omdat dit het product is dat de laagste `UnitPrice` (`10`) heeft.

De derde kolom retourneert waarde `Betacab`, dat is de `Customer` met het `Product` dat de op één na hoogste `UnitPrice` (`20`) heeft.

De vierde kolom retourneert `NULL`, omdat er twee waarden van `Customer` (`Astrida` en `Canutility`) zijn met dezelfde rangschikking (op twee na laagste) `UnitPrice` (`15`).

De vijfde kolom retourneert de `Canutility`, dit is de `Customer` met de op één na hoogste verkooporderwaarde, `UnitPrice` vermenigvuldigd met de `UnitSales` (`120`).

## Voorbeeld - scenario FirstSortedValue

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

#### Diagramuitdrukking

Overzicht

Een gegevensverzameling bevat verkoopcijfers voor de eerste drie maanden van het jaar. De regiomanager wil de best en slechtst verkopende producten identificeren om toekomstige voorraden te plannen.

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `Date`

  * `SalesProduct`

  * `Category`

  * `Sales`

Load-script

```
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
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:

* `Category`

Maak de volgende metingen:

* `=FirstSortedValue(SalesProduct, -Sales)`, om het best verkopende product in elke categorie te berekenen.

* `=FirstSortedValue(TOTAL SalesProduct, -Sales)`, om het best verkopende product te berekenen.

* `=FirstSortedValue(TOTAL SalesProduct, Sales)`, om het slechtst verkopende product te berekenen.

Results table

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

De resultaten geven aan dat `Apple` en `Carrot` de best verkopende producten zijn in hun respectieve categorieën, `Fruit` en `Vegetable`. In alle categorieën was `Apple` echter het best verkopende product en `Carrot` het slechtst verkopende product.

## Meer informatie

* [Set-analyse](https://help.qlik.com/nl-NL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Het aggregatiebereik definiëren](https://help.qlik.com/nl-NL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)