Choisir le type de calcul approprié
Le type de calcul que vous choisissez dépend des besoins de votre analyse, de la question à laquelle vous souhaitez répondre et de la disposition de votre visualisation.
Quel est le calcul adapté à votre analyse ?
Il n’est pas toujours simple de choisir le type de calcul à utiliser pour votre analyse. lorsque vous tentez de vous décider, considérez les questions et les exemples suivants.
Remarque: ce contenu a été publié à l’origine sur le Blog de Tableau. Consultez Guide pratique pour choisir le type de calcul adapté à votre question(Le lien s’ouvre dans une nouvelle fenêtre).
Expression de base ou calcul de table ?
La visualisation contient-elle déjà toutes les valeurs de données dont vous avez besoin ?
- Si la réponse est oui : vous pouvez utiliser un calcul de table.
- Si la réponse est non : utilisez un calcul de base.
Exemple :
Considérez les deux visualisations suivantes. La visualisation sur la gauche est un graphique à barres qui montre les ventes totales par pays/région. La visualisation sur la droite montre également les ventes par pays/région, mais les ventes ont été désagrégées.
Comment pourriez-vous calculer le 90è centile de ventes pour chacune de ces visualisations ?
Le graphique à barres sur la gauche est agrégé par SUM. La vue ne contient donc pas suffisamment de détails pour utiliser un calcul de table. Vous pouvez utiliser une expression d’agrégation de base pour calculer le 90è centile de ventes pour chaque pays de cet exemple en utilisant la formule suivante :
PERCENTILE([Sales], .90)
Le résultat est une valeur pour le 90è centile par pays sous forme d’étiquette pour chaque barre.
Le graphique de droite inclut toutefois une valeur de données pour chaque bon de commande. Une distribution plus large et des valeurs atypiques s’affichent. La vue contient suffisamment de détails pour utiliser un calcul de table.
Vous pouvez calculer le 90è centile de ventes pour chaque pays en utilisant une bande de distribution (équivalent à un calcul de table). Cette visualisation contient davantage de contexte.
Les deux calculs aboutissent aux mêmes valeurs, mais les informations exploitables que vous collectez pour chacun diffèrent en fonction du niveau de détail (la quantité de données) dans la visualisation.
Expression de base ou expression de niveau de détail ?
Si vous n’avez pas toutes les données dont vous avez besoin dans la visualisation, vous avez besoin de transmettre votre calcul à la source de données. Cela signifie que vous devez utiliser un calcul de base ou une expression LOD.
Si vous avez répondu non à la question 1 ou à la question :
Question 2 :
La granularité de votre question correspond-elle à la granularité de la visualisation ou de la source de données ?
- Si la réponse est oui : utilisez une expression de base.
- Si la réponse est non : utilisez une expression LOD (Level of Detail).
Exemple
Considérez la visualisation suivante. Elle représente le 90è centile de ventes pour toutes les commandes dans chaque pays.
Cet exemple utilise la source de données Sample - Superstore. fournie avec Tableau. Si vous êtes familier avec la source de données Sample-Superstore, vous savez peut-être qu’il y a une ligne de données par ID de commande. La granularité de la source de données est donc Order ID (ID de commande). La granularité de la visualisation est toutefois Country (Pays).
Si vous souhaitez savoir quelle est la valeur de 90è centile de ventes pour les commandes dans chaque pays au niveau de granularité ID de commande, vous pouvez utiliser l’expression LOD suivante :
{INCLUDE [Order ID] : SUM([Sales])}
Vous pouvez ensuite modifier le champ de manière à agréger au niveau du 90è centile dans la vue.
Pour ce faire, cliquez sur le menu déroulant du champ et sélectionnez Mesure > Centile > 90.
Le diagramme suivant démontre comment l’expression LOD fonctionne dans ce cas :
- Les données sont au début complètement agrégées au niveau SUM(Sales) puis descendent au niveau de détail Pays : SUM(Sales) au niveau Pays.
- Le calcul de niveau de détail est appliqué et les données gagnent en granularité : SUM(Sales) au niveau Pays + ID de commande.
- > Le calcul de niveau de détail est agrégé au 90è centile : PCT90(SUM(Ventes) au niveau Pays + ID de commande)
Le résultat est le suivant :
Calcul de table ou expression LOD (Level of Detail) ?
Lorsque vous choisissez entre un calcul de table et un calcul LOD, le processus est très similaire au choix entre un calcul de table et une expression de base. Posez-vous les questions suivantes :
La visualisation contient-elle déjà toutes les valeurs de données dont vous avez besoin ?
- Si la réponse est Oui, utilisez un calcul de base.
- Si la réponse est Non, demandez-vous : La granularité de votre question correspond-elle à la granularité de la visualisation ou à la granularité de la source de données ? Si la réponse est Non, utilisez un calcul LOD.
Calculs de table uniquement
Dans certains cas, seul un calcul de table fonctionnera. Il s’agit des scénarios suivants :
- Classement
- Récursion (par exemple totaux cumulés)
- Calculs mobiles (par exemple moyennes mobiles)
- Calculs inter-lignes (par exemple calculs d’une période par rapport à une autre)
Si votre analyse requiert l’un des scénarios suivants, utilisez un calcul de table.
Exemple
Considérez la visualisation suivante. Elle affiche le prix de clôture moyen pour plusieurs actions entre septembre 2014 et septembre 2015.
Si vous souhaitez voir le nombre de fois que le prix de clôture a dépassé sa valeur de clôture record à ce jour, vous devez utiliser un calcul de table, plus spécifiquement un calcul récursif.
Pourquoi ? Parce que les calculs de table peuvent générer plusieurs valeurs pour chaque partition de données (cellule, volet, table), tandis que les expressions de base et LOD peuvent uniquement générer une valeur unique pour chaque partition ou regroupement de données.
Pour calculer le nombre de fois où le prix de clôture a dépassé son prix de clôture record pour chaque action, voici quelques étapes à effectuer.
- Vous devez tenir compte de toutes les précédentes valeurs pour voir si vous avez atteint une nouvelle valeur de clôture maximum. Vous pouvez le faire avec une fonction RUNNING_MAX. Par exemple, considérez le calcul suivant utilisant Jour (dans la table) et intitulé Record to Date (Record à ce jour) :
RUNNING_MAX(AVG([Close]))
Vous pouvez maintenant marquer les jours où le record a été battu à l’aide du calcul suivant qui utilise Jour (dans la table) et est intitulé Count Days Record Broken (Nombre de jours avec record battu) :
IF AVG([Close]) = [Record to Date]
THEN 1
ELSE 0
ENDEnfin, vous pouvez comptabiliser ces jours à l’aide du calcul suivant qui utilise Jour (dans la table) :
RUNNING_SUM([Count Days Record Broken])
Lorsque vous ajoutez le champ calculé final à la vue au lieu de Avg(Close), vous obtenez un résultat de ce type :
Poursuivez avec Conseils pour apprendre à créer des calculs
Également dans cette série :
Comprendre les calculs dans Tableau(Le lien s’ouvre dans une nouvelle fenêtre)
Types de calculs dans Tableau(Le lien s’ouvre dans une nouvelle fenêtre)