# FirstSortedValue - Diagrammfunktion

FirstSortedValue() gibt den Wert der in value festgelegten Formel zurück, der dem Ergebnis der Sortierung des sort\_weight-Arguments entspricht, z. B. der Name des Produkts mit dem niedrigsten Preis pro Einheit. Der n-te-Wert in der Sortierreihenfolge kann in rank festgelegt werden. Weist mehr als ein Ergebnis dasselbe Feld sort\_weight für die festgelegte Funktion rank auf, gibt die Funktion NULL zurück.

Syntax:

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

Rückgabe Datentyp: dual

Argumente

| Argument | Beschreibung |
| --- | --- |
| value | Ausgabefeld. Die Funktion findet den Wert der Formel value, der dem Ergebnis der Sortierung von sort\_weight entspricht. |
| sort\_weight | Eingabefeld. Die Formel mit den Daten, die sortiert werden sollen. Der erste (niedrigste) Wert von sort\_weight wird gefunden, aus dem der entsprechende Wert der Formel value bestimmt wird. Wenn Sie ein Minuszeichen vor sort\_weight voranstellen, liefert die Funktion stattdessen den letzten (höchsten) sortierten Wert. |
| rank | Durch rank "n" größer 1 wird der n-te Wert ausgegeben. |
| SetExpression | Standardmäßig berechnet sich die Aggregierungsfunktion über alle wählbaren Werte. Alternativ können Sie die der Berechnung zugrunde liegenden Werte über die Auswahlformel bestimmen. |
| DISTINCT | Der Zusatz DISTINCT vor den Funktionsargumenten bewirkt, dass bei der Auswertung der Funktionsargumente entstehende Duplikate nicht berücksichtigt werden. |
| TOTAL | Der Zusatz TOTAL vor der Funktion bewirkt, dass die Berechnung über alle ausgewählten bzw. wählbaren Werte erfolgt, und nicht nur über diejenigen, die zu dem Wert der aktuellen Dimension zählen. Die Dimensionen des Diagramms werden also nicht berücksichtigt.<br><br>Mit TOTAL [&lt;fld {.fld}&gt;], wobei auf den Zusatz TOTAL eine Liste aus mindestens einem Feldnamen (d. h. einer Teilmenge der Diagrammdimensionsvariablen) folgt, erstellen Sie eine Teilmenge aller möglichen Werte.<br><br>[Definieren des Aggregierungsbereichs](https://help.qlik.com/de-DE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Beispiel: Diagrammformeln

| Beispiel | Ergebnis |
| --- | --- |
| `FirstSortedValue (Product, UnitPrice)` | Gibt das `Product` mit dem niedrigsten `UnitPrice` zurück. |
| `FirstSortedValue (Product, UnitPrice, 2)` | Gibt das `Product` mit dem zweitniedrigsten `UnitPrice` zurück. |
| `FirstSortedValue (Customer, -UnitPrice, 2)` | Gibt den `Customer` mit dem `Product` zurück, das den zweithöchsten `UnitPrice` aufweist. |
| `FirstSortedValue (Customer, -UnitPrice*UnitSales, 2)` | Gibt den `Customer` mit dem zweithöchsten Bestellwert zurück, `UnitPrice` multipliziert mit `UnitSales`. |

## Beispiel – Grundlegendes zu „FirstSortedValue“

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

#### Diagrammformel

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Die folgenden Felder in der Datentabelle:

  * `Customer`

  * `Product`

  * `UnitSales`

  * `UnitPrice`

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Kennzahlen hinzu:

* `=FirstSortedValue (Product, UnitPrice)`, um das Produkt mit dem niedrigsten Stückpreis zu berechnen.

* `=FirstSortedValue (Product, UnitPrice, 2)`, um das Produkt mit dem zweitniedrigsten Stückpreis zu berechnen.

* `=FirstSortedValue (Customer, -UnitPrice, 2)`, um den Kunden mit dem Produkt zu berechnen, das den zweithöchsten Stückpreis aufweist.

* `=FirstSortedValue (Customer, UnitPrice, 3)`, um den Kunden mit dem Produkt zu berechnen, das den dritthöchsten Stückpreis aufweist.

* `=FirstSortedValue (Customer, -UnitPrice*UnitSales, 2)`, um den Kunden mit dem zweithöchsten Bestellwert zu berechnen, `UnitPrice` multipliziert mit `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 |

Die erste Spalte gibt den Wert `BB` zurück, da dies das Produkt mit dem niedrigsten `UnitPrice` (`9`) ist.

Die zweite Spalte gibt den Wert `BB` zurück, da dies das Produkt mit dem zweitniedrigsten `UnitPrice` (`10`) ist.

Die dritte Spalte gibt den Wert `Betacab` zurück, den `Customer` mit dem `Product`, das den zweithöchsten `UnitPrice` (`20`) hat.

Die vierte Spalte gibt `NULL` zurück, denn es gibt zwei Werte von `Customer` (`Astrida` und `Canutility`) mit demselben Rang (dem drittniedrigsten) für `UnitPrice` (`15`).

Die fünfte Spalte gibt `Canutility` zurück, den `Customer` mit dem zweithöchsten Bestellwert, `UnitPrice` multipliziert mit `UnitSales` (`120`).

## Beispiel – Szenario für „FirstSortedValue“

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

#### Diagrammformel

Übersicht

Ein Datensatz enthält Umsatzzahlen für die ersten drei Monate des Jahres. Der Regionalleiter möchte die am besten und am schlechtesten verkauften Produkte ermitteln, um den zukünftigen Bestand zu planen.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Die folgenden Felder in der Datentabelle:

  * `Date`

  * `SalesProduct`

  * `Category`

  * `Sales`

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:

* `Category`

Erstellen Sie die folgenden Kennzahlen:

* `=FirstSortedValue(SalesProduct, -Sales)`, um das meistverkaufte Produkt in jeder Kategorie zu berechnen.

* `=FirstSortedValue(TOTAL SalesProduct, -Sales)`, um das meistverkaufte Produkt insgesamt zu berechnen.

* `=FirstSortedValue(TOTAL SalesProduct, Sales)`, um das am wenigsten verkaufte Produkt insgesamt zu berechnen.

Results table

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

Die Ergebnisse zeigen, dass `Apple` und `Carrot` die meistverkauften Produkte in ihren jeweiligen Kategorien sind, `Fruit` und `Vegetable`. Über alle Kategorien hinweg war jedoch `Apple` das meistverkaufte Produkt und `Carrot` das am schlechtesten verkaufte Produkt.

## Weitere Informationen

* [Aggregierung mit Auswahlformeln](https://help.qlik.com/de-DE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Definieren des Aggregierungsbereichs](https://help.qlik.com/de-DE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)