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
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
Exempel och resultat
Exempel Resultat
firstsortedvalue (Product, UnitPrice)

BB, som är en Product med det lägsta UnitPrice(9).

firstsortedvalue (Product, UnitPrice, 2)

BB, som är en Product med det näst lägsta UnitPrice(10).

firstsortedvalue (Customer, -UnitPrice, 2)

Betacab, som är en Customermed den Product som har det nästa högsta UnitPrice(20).

firstsortedvalue (Customer, UnitPrice, 3)

NULL, eftersom det finns två värden för Customer (Astrida och Canutility) med sammarank (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, vilket är Customer med det näst högsta säljordervärdet UnitPrice multiplicerat 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!