Only
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
- 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. Le qualificateur TOTAL peut être suivi d'une liste d'un ou de plusieurs noms de champ placés entre crochets angulaires <fld>. Ces noms de champ doivent constituer un sous-ensemble des variables de dimension du graphique.
Exemple | Résultat |
---|---|
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 '|');
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 |