Only - diagramfunktion
Only() returnerar ett värde om det finns ett, och endast ett, möjligt resultat från aggregerade data. Till exempel returnerar en sökning efter den enda produkten med styckpriset =9 NULL om fler än en produkt har styckpriset 9.
Syntax:
Only([{SetExpression}] [TOTAL [<fld {,fld}>]] expr)
Returnerad datatyp: dual
Argument:
Argument | Beskrivning |
---|---|
expr | Det uttryck eller fält som innehåller de data som ska mätas. |
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. |
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. |
Exempel och resultat:
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 | Resultat |
---|---|
Only({<UnitPrice={9}>} Product) |
BB, eftersom detta är den enda Product som har ett UnitPrice på "9". |
Only({<Product={DD}>} Customer) |
Betacab, eftersom det är den enda Customer som säljer en Product som heter ”DD”. |
Only({<UnitPrice={20}>} UnitSales) |
Det finns 2 UnitSales där UnitPrice är 20, eftersom det enbart finns ett värde för UnitSales där UnitPrice = 20. |
Only({<UnitPrice={15}>} UnitSales) |
NULL, eftersom det finns två värden för UnitSales där (UnitPrice) = 15. |
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 '|');