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ückgabedatentyp: 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.

Auf den Zusatz TOTAL kann eine Reihe von Feldnamen in spitzen Klammern folgen <fld>. Sind dies Dimensionen des Diagramms, werden bei der Berechnung

Siehe: Definieren des Aggregierungsbereichs

Tipp: Verwenden Sie Only(), wenn Sie in den Beispieldaten bei mehreren möglichen Werten ein NULL-Ergebnis wünschen.

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