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.
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.
Chargez les données et ouvrez une feuille. Créez une nouvelle table avec les mesures suivantes :
=Only({<UnitPrice={9}>} Product), pour calculer le seul produit Product dont le prix unitaire UnitPrice est 9.
=Only({<Product={DD}>} Customer), pour calculer le seul client Customer qui vend un produit Product appelé DD.
=Only({<UnitPrice={20}>} UnitSales), pour calculer le nombre de ventes unitaires UnitSales pour lesquelles le prix unitaire UnitPrice est 20.
=Only({<UnitPrice={15}>} UnitSales), pour calculer les valeurs de ventes unitaires UnitSales pour lesquelles UnitPrice = 15.
Results table
Only({<UnitPrice={9}>} Product)
Only({<Product={DD}>} Customer)
Only({<UnitPrice={20}>} UnitSales)
Only({<UnitPrice={15}>} UnitSales)
BB
Betacab
2
-
Dans cet exemple, observez les points suivants :
La première colonne renvoie la valeur BB, car il s'agit du seul produit Product dont le prix unitaire UnitPrice est 9 .
La deuxième colonne renvoie Betacab, car il s'agit du seul client Customer qui vend un produit Product appelé DD.
La troisième colonne renvoie 2, car il s'agit de la seule valeur de UnitSales pour laquelle UnitPrice = 20.
La quatrième colonne renvoie NULL, car il n'existe aucun résultat pour lequel UnitPrice = 15. Dans ce jeu de données, il existe deux valeurs de UnitSales pour lesquelles UnitPrice =15.
Exemple - Scénario Only
Vue d'ensemble
Un jeu de données contient des ventes de produits par période. L'entreprise souhaite déterminer si un produit est vendu dans un seul magasin ou dans plusieurs.
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.
Le script de chargement contient :
Jeu de données chargé dans une table de données appelée Example.
Champs suivants dans la table de données :
Date
RecordID
StoreProduct
Sales
Script de chargement
Example:
Load * inline [
Date, RecordID, StoreProduct, Sales, Store
2024-01-01, 1, Apple, 100, A
2024-01-15, 2, Banana, 80, B
2024-01-30, 3, Carrot, 50, C
2024-02-05, 4, Apple, 120, A
2024-02-20, 5, Banana, 90, B
2024-02-28, 6, Carrot, 60, D
2024-03-10, 7, Apple, 110, A
2024-03-22, 8, Banana, 85, B
2024-03-31, 9, Carrot, 55, C
];
Résultats
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :
StoreProduct
Créez les mesures suivantes :
=Only(Store), pour calculer le seul magasin dans lequel le produit est vendu.
=If(IsNull(Only(Store)), 'Multiple Stores', 'Single Store'), pour calculer si le produit est vendu dans un seul magasin ou dans plusieurs.
=Sum(Sales), pour calculer les ventes de produits totales.
Les résultats indiquent que les pommes Apples et bananes Bananas ne sont vendus que dans un seul magasin, tandis que les carottes Carrots sont vendues dans plusieurs magasins.
Exemple - Scénario avancé pour créer un tableau d'enregistrements sur un seul mois
Vue d'ensemble
Cet exemple utilise la fonction Only pour afficher un tableau d'enregistrements ligne par ligne pour un seul mois. Pour ce faire, l'analyse d'ensembles est utilisée pour délimiter l'ensemble d'enregistrements souhaité. L'analyse d'ensembles nécessite au moins une mesure, mais comme nous n'avons pas besoin d'agréger l'ensemble des enregistrements, nous pouvons utiliser efficacement la fonction d'agrégation Only pour couvrir l'étendue de l'analyse d'ensembles.
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.
Le script de chargement contient :
Jeu de données chargé dans une table de données appelée Example.
Instruction preceding LOAD qui dérive le champ MonthYear du champ Date en tronquant le jour du mois, à l'aide de la fonction MonthStart, et en renvoyant une représentation de date du 1er de chaque mois. Ce résultat est fourni à la fonction Date pour définir le format d'affichage sur MMM YY, par exemple, Jan 24.
Champs suivants dans la table de données :
Date
RecordID
StoreProduct
Sales
Store
Script de chargement
Example:
Load
*,
date(MonthStart (Date),'MMM YY') AS MonthYear
inline [
Date, RecordID, StoreProduct, Sales, Store
2024-01-01, 1, Apple, 100, A
2024-01-15, 2, Banana, 80, B
2024-01-30, 3, Carrot, 50, C
2024-02-05, 4, Apple, 120, A
2024-02-20, 5, Banana, 90, B
2024-02-28, 6, Carrot, 60, D
2024-03-10, 7, Apple, 110, A
2024-03-22, 8, Banana, 85, B
2024-03-31, 9, Carrot, 55, C
];
Résultats
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :
MonthYear
RecordID
Date
StoreProduct
Store
Créez les mesures suivantes :
=Only({$<MonthYear={'$(=MaxString(MonthYear))'}>} Sales), pour évaluer la valeur Sales et ne renvoyer que les enregistrements pour lesquels MonthYear est la dernière valeur MonthYear disponible (la plus récente), en fonction des sélections actives dans le tableau. L'expansion $ effectue un calcul en ligne à l'aide de la fonction MaxString, $(=MaxString(MonthYear)), qui renvoie la représentation textuelle de la dernière valeur MonthYear.
Note InformationsSi vous essayez de filtrer MonthYear en fonction de la représentation numérique, par exemple en utilisant la fonction Max , Max(MonthYear), vous n'obtiendrez aucun résultat. L'analyse d'ensembles applique des sélections de filtre basées uniquement sur la représentation textuelle de tout type de données double ; un type de données avec une représentation numérique et textuelle comme Date.
La sortie de la fonction Only produit un tableau d'enregistrements qui présente par défaut la valeur de vente de la dernière, ou de la plus récente, valeur MonthYear disponible dans les données. Si vous sélectionnez un mois antérieur dans la colonne MonthYear, par exemple Feb 24, la dernière valeur de vente de ce mois s'affichera.
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !