Only - diagramfunctie
Only() retourneert een waarde als er één, en niet meer dan één, mogelijk resultaat is voor de geaggregeerde gegevens. Als u bijvoorbeeld zoekt naar het enige product waarvan de prijs per eenheid =9 en er zijn meerdere producten met een prijs per eenheid van 9, dan wordt het resultaat NULL geretourneerd.
Syntaxis:
Only([{SetExpression}] [TOTAL [<fld {,fld}>]] expr)
Retourgegevenstypen: dual
Argumenten:
Argument | Beschrijving |
---|---|
expr | De uitdrukking die of het veld dat de gegevens bevat die moeten worden gemeten. |
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. |
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. |
Voorbeelden en resultaten:
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 |
Voorbeelden | Resultaten |
---|---|
Only({<UnitPrice={9}>} Product) |
BB, omdat dit het enige Product is dat een UnitPrice van '9' heeft. |
Only({<Product={DD}>} Customer) |
Betacab, omdat dit de enige Customer is die een Product verkoopt met de naam 'DD'. |
Only({<UnitPrice={20}>} UnitSales) |
Het aantal UnitSales waarbij UnitPrice gelijk is aan 20 bedraagt 2, omdat er slechts één waarde van UnitSales is waarbij de UnitPrice gelijk is aan 20. |
Only({<UnitPrice={15}>} UnitSales) |
NULL, omdat er twee waarden van UnitSales zijn waarbij de UnitPrice gelijk is aan 15. |
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 '|');