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