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.

Syntax:  

FirstSortedValue([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] value, sort_weight [,rank])

Return data type: duaal

Arguments:  

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.

Wanneer u TOTAL [<fld {.fld}>] 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.

Het aggregatiebereik definiëren

Examples and results:  

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
Voorbeeld Resultaat
firstsortedvalue (Product, UnitPrice)

BB, oftewel het Product met de laagste UnitPrice(9).

firstsortedvalue (Product, UnitPrice, 2)

BB, oftewel het Product met de op één na laagste UnitPrice(10).

firstsortedvalue (Customer, -UnitPrice, 2)

Betacab, oftewel de Customer met het Product met de op één na hoogste UnitPrice(20).

firstsortedvalue (Customer, UnitPrice, 3)

NULL, omdat er twee waarden van Customer (Astrida en Canutility) zijn met dezelfde rank (op twee na laagste) UnitPrice(15).

U kunt met de kwalificatie distinct ervoor zorgen dat er geen onverwachte null-resultaten optreden.

firstsortedvalue (Customer, -UnitPrice*UnitSales, 2)

Canutility, oftewel de Customer met de op één na hoogste UnitPrice voor verkooporderwaarde vermenigvuldigd met de UnitSales (120).

Gegevens die worden gebruikt in voorbeelden:

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