Gå till huvudinnehåll Gå till ytterligare innehåll

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 [<fld {,fld}>]] value, sort_weight [,rank])

Returnerad datatyp: dual

Argument:  

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.

Genom att använda TOTAL [<fld {.fld}>], 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.

Definiera aggregeringens omfattning

Exempel och resultat:  

Data
CustomerProductUnitSalesUnitPrice
AstridaAA416
AstridaAA1015
AstridaBB99
BetacabBB510
BetacabCC220
BetacabDD-25
CanutilityAA815
CanutilityCC-19
Exempel och resultat
ExempelResultat
firstsortedvalue (Product, UnitPrice)

BB som är den Product med lägst UnitPrice(9).

firstsortedvalue (Product, UnitPrice, 2)

BB som är den Product med näst lägst UnitPrice(10).

firstsortedvalue (Customer, -UnitPrice, 2)

Betacab som är den Customer med den Product som har näst högst UnitPrice(20).

firstsortedvalue (Customer, UnitPrice, 3)

NULL, eftersom det finns två värden på Customer (Astrida och Canutility) med samma rank (tredje lägsta) UnitPrice(15).

Använd kvalificeraren distinct för att se till att det inte uppstår oväntade null-resultat.

firstsortedvalue (Customer, -UnitPrice*UnitSales, 2)

Canutility, som är den Customer med det näst högsta säljordervärdet UnitPricemultiplicerat med UnitSales (120).

Data som används i exempel:

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

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!