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

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

Beispiele und Ergebnisse:

Daten

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

Beispiele und Ergebnisse

| Beispiel | Ergebnis |
| --- | --- |
| `firstsortedvalue (Product, UnitPrice)` | BB, das `Product` mit dem niedrigsten `UnitPrice` (9). |
| `firstsortedvalue (Product, UnitPrice, 2)` | BB, das `Product` mit dem zweitniedrigsten `UnitPrice` (10). |
| `firstsortedvalue (Customer, -UnitPrice, 2)` | Betacab, der `Customer` mit dem `Product`, das den zweithöchsten `UnitPrice` (20) hat. |
| `firstsortedvalue (Customer, UnitPrice, 3)` | NULL, denn es gibt zwei Werte von `Customer` (Astrida und Canutility) mit demselben rank (drittniedrigsten) `UnitPrice` (15).<br><br>Verwenden Sie den Qualifizierer distinct, um sicherzustellen, dass keine unerwarteten NULL-Ergebnisse auftreten. |
| `firstsortedvalue (Customer, -UnitPrice*UnitSales, 2)` | Canutility, der `Customer` mit dem zweithöchsten Bestellwert: `UnitPrice` multipliziert mit `UnitSales` (120). |

In Beispielen verwendete Daten:

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

## Weitere Informationen

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