Only - fonction de graphique
Only() renvoie une valeur s'il n'y a qu'un seul résultat possible dans les données agrégées. Par exemple, la recherche du seul produit dont le prix unitaire est égal à 9 renverra NULL si plusieurs produits ont un prix unitaire de 9.
Only([{SetExpression}] [TOTAL [<fld {,fld}>]] expr)
double
Argument | Description |
---|---|
expr | Expression ou champ contenant les données à mesurer. |
SetExpression | Par défaut, la fonction d'agrégation couvre l'ensemble des enregistrements possibles définis par la sélection. Il est possible de définir un ensemble d'enregistrements alternatif à l'aide d'une expression d'analyse d'ensembles. |
TOTAL |
Si le terme TOTAL précède les arguments de la fonction, le calcul est effectué à partir de toutes les valeurs possibles au vu des sélections actives, et pas seulement à partir de celles qui sont associées à la valeur dimensionnelle active. Autrement dit, les dimensions du graphique ne sont pas prises en compte. En utilisant TOTAL [<fld {.fld}>], où le qualificateur TOTAL est suivi d'un ou de plusieurs noms constituant un sous-ensemble des variables de dimension du graphique, vous créez un sous-ensemble du nombre total de valeurs possibles. |
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 |
Exemples | Résultats |
---|---|
Only({<UnitPrice={9}>} Product) |
BB, car il s'agit du seul produit Product dont le prix unitaire UnitPrice est égal à '9'. |
Only({<Product={DD}>} Customer) |
Betacab, car il s'agit du seul client Customer vendant un produit Product appelé 'DD'. |
Only({<UnitPrice={20}>} UnitSales) |
Le nombre d'éléments UnitSales pour lesquels UnitPrice est égal à 20 est de 2, car il n'y a qu'une seule valeur sous UnitSales pour laquelle le prix unitaire (UnitPrice) = 20. |
Only({<UnitPrice={15}>} UnitSales) |
NULL, car il y a deux valeurs sous UnitSales pour lesquelles le prix unitaire (UnitPrice) = 15. |
Données utilisées dans les exemples :
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 '|');