Only - Diagrammfunktion
Only() liefert einen Wert, wenn die aggregierten Daten nur ein einziges mögliches Ergebnis liefern. Wenn Sie beispielsweise nach dem einzigen Produkt suchen, bei dem der Preis pro Einheit 9 beträgt, wird NULL geliefert, wenn mehr als ein Produkt einen Preis pro Einheit von 9 aufweist.
Syntax:
Only([{SetExpression}] [TOTAL [<fld {,fld}>]] expr)
Rückgabe Datentyp: dual
Argumente:
Argument | Beschreibung |
---|---|
expr | Die Formel oder das Feld mit den Daten, die gemessen werden sollen. |
SetExpression | Standardmäßig berechnet sich die Aggregierungsfunktion über alle wählbaren Werte. Alternativ können Sie die der Berechnung zugrunde liegenden Werte über die Auswahlformel bestimmen. |
TOTAL |
Der Zusatz TOTAL vor der Funktion bewirkt, dass die Berechnung über alle ausgewählten bzw. wählbaren Werte erfolgt, und nicht nur über diejenigen, die zu dem Wert der aktuellen Dimension zählen. Die Dimensionen des Diagramms werden also nicht berücksichtigt. Mit TOTAL [<fld {.fld}>], wobei auf den Zusatz TOTAL eine Liste aus mindestens einem Feldnamen (d. h. einer Teilmenge der Diagrammdimensionsvariablen) folgt, erstellen Sie eine Teilmenge aller möglichen Werte. |
Beispiele und Ergebnisse:
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 |
Beispiele | Ergebnisse |
---|---|
Only({<UnitPrice={9}>} Product) |
BB, da es das einzige Product ist, das einen UnitPrice von '9' aufweist. |
Only({<Product={DD}>} Customer) |
Betacab, da es der einzige Customer ist, der ein Product namens 'DD' verkauft. |
Only({<UnitPrice={20}>} UnitSales) |
Die Anzahl an UnitSales, bei der UnitPrice20 ist, ergibt 2, da es nur einen Wert von UnitSales gibt, bei dem der UnitPrice 20 ist. |
Only({<UnitPrice={15}>} UnitSales) |
NULL, da es zwei Werte von UnitSales gibt, bei denen der UnitPrice 15 ist. |
In Beispielen verwendete Daten:
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 '|');