Date de dernière modification : 20 Jul 2023
Environnement
Tableau DesktopRéponse
Créez un calcul logique en utilisant une instruction IF / THEN pour renvoyer une mesure pour certaines valeurs de dimensions uniquement. La valeur de dimension pourrait être codée en dur ou définie de manière dynamique avec un paramètre ou un ensemble.Les deux options ont pour point de départ la feuille de calcul « Original » dans le classeur "" que vous pouvez télécharger depuis le volet droit de cet article. Les instructions de création de la feuille de calcul « Original » et les démonstrations de toutes les variations sont également incluses dans le classeur.
Variation 1 : Codage en dur d'une valeur de dimension
- Sélectionnez Analyse > Créer un champ calculé
- Dans la boîte de dialogue Champ calculé qui s'ouvre, procédez comme suit, puis cliquez sur OK :
- Nommez le champ calculé. Dans cet exemple, le champ calculé est appelé « "Sales Label (variation 1) » (Étiquette Ventes (variation 1))
- Dans le champ de formule, créez un calcul du type suivant :
IF DATEPART('year', [Order Date]) = 2019
THEN [Sales]
END
Le calcul ci-dessous renvoie la mesure [Sales] si [Order Date] est dans l'année 2019. Sinon, le calcul renvoie NULL. Vous pourriez ajouter une expression « ELSE 0 » avant « END » pour renvoyer une valeur zéro au lieu de NULL.
Vous pourriez utiliser d'autres conditions, par exemple [Order Date] = #1/1/2019# pour filtrer sur une date spécifique, ou [Segment] = "Consumer" pour filtrer sur une valeur de texte spécifique. La partie importante consiste à vous assurer que la valeur après le signe Égal est du même type de données que la dimension.
- Remplacez [Sales] sur l'étiquette par [Sales Label (variation 1)]
Variation 2 : Utiliser les paramètres
- Sélectionnez Analyse > Créer un champ calculé
- Dans la boîte de dialogue Champ calculé qui s'ouvre, procédez comme suit, puis cliquez sur OK :
- Nommez le champ calculé. Dans cet exemple, le champ calculé est appelé « Year of Order Date » (Année de la date de commande)
- Dans le champ de formule, créez un calcul du type suivant :
DATEPART('year', [Order Date])
Les étapes 1-2 créent un champ contenant uniquement la partie de date de l'année de [Order Date] sous la forme d'une valeur d'entier. Le champ [Year of Order Date] facilite la création d'un paramètre, mais n'est sinon pas nécessaire
- Dans le volet Données, faites un clic droit sur le champ [Year of Order Date] et sélectionnez Créer > Paramètre…
- Dans la boîte de dialogue Créer un paramètre, procédez comme suit, puis cliquez sur OK.
- Dans la zone de texte Nom, entrez un nom. Dans cet exemple, j'appellerai le paramètre « Select a year » (Sélectionner une année)
- Sous Propriétés, dans la liste Type de données, sélectionnez Entier
- Sous Valeurs autorisées, sélectionnez Liste
- Dans le menu déroulant du format d'affichage, sélectionnez Nombre (personnalisé) et définissez le format sur 0 décimales, puis désélectionnez Inclure des séparateurs de milliers
- Depuis Tableau Desktop 2020.1, les paramètres peuvent extraire les valeurs de listes depuis un champ de la source de données en sélectionnant un champ dans la liste déroulante À l'ouverture du classeur.
- Faites un clic droit sur [Select a year] dans le volet Données et sélectionnez Afficher la commande de paramètre
- Créez un champ calculé portant un nom tel que « Sales Label (variation 2) » (Étiquette Ventes (variation 2)) avec un calcul de ce type :
IF DATEPART('year', [Order Date]) = [Parameters].[Select a year]
THEN [Sales]
END
Remarque : La syntaxe « [Parameters]. » est automatiquement ajoutée lorsqu'un paramètre porte le même nom qu'un autre champ dans la source de données. - Remplacez [Sales] sur l'étiquette par [Sales Label (variation 2)]
Variation 3 : Utiliser les commandes d'ensemble
Depuis Tableau Desktop 2020.2, les commandes d'ensemble peuvent s'afficher pour permettre aux utilisateurs finaux de modifier les valeurs des ensembles.- Sélectionnez Analyse > Créer un champ calculé
- Dans la boîte de dialogue Champ calculé qui s'ouvre, procédez comme suit, puis cliquez sur OK :
- Nommez le champ calculé. Dans cet exemple, le champ calculé est appelé « Year of Order Date » (Année de la date de commande)
- Dans le champ de formule, créez un calcul du type suivant :
DATEPART('year', [Order Date])
- Faites un clic droit sur [Year of Order Date] et sélectionnez Convertir en Dimension
Les étapes 1-3 créent une dimension contenant uniquement la partie de date de l'année de [Order Date] sous la forme d'une valeur d'entier. Le champ [Year of Order Date] est obligatoire pour créer un ensemble d'années étant donné que les ensembles doivent être créés à partir de champs de la source de données. - Dans le volet Données, faites un clic droit sur le champ [Year of Order Date] et sélectionnez Créer > Ensemble…
- Donnez un nom à l'ensemble, puis cliquez sur OK. Dans cet ensemble, l'ensemble est intitulé « Select a year » (Sélectionner une année)
- Créez un champ calculé portant un nom tel que « Sales Label (variation 3) » (Étiquette Ventes (variation 3)) avec un calcul de ce type :
IF [Select a year]
THEN [Sales]
END
Le calcul ci-dessus renvoie la mesure [Sales] (Ventes) si [Order Date] (Date de commande) est dans une année sélectionnée par l'utilisateur. Sinon, le calcul renvoie NULL. Vous pourriez ajouter une expression « ELSE 0 » avant « END » pour renvoyer une valeur zéro au lieu de NULL.
Les ensembles sont des champs booléens qui renvoient une valeur TRUE ou FALSE. L'ensemble est donc par lui-même la condition entière. - Remplacez [Sales] sur l'étiquette par [Sales Label (variation 3)]
- Faites un clic droit sur l'ensemble [Select a year] dans le volet Données et cochez Afficher l'ensemble
Informations supplémentaires
Paramètres versus Ensembles
- Les paramètres ne peuvent contenir qu'une seule valeur, tandis que les commandes d'ensemble autorisent la sélection multiple.
- Les paramètres peuvent contenir des valeurs arbitraires, tandis que les ensembles sont toujours liés à un champ dans la source de données. Ces valeurs de champ peuvent toutefois être ré-aliasées.
- Vous pouvez utiliser des paramètres pour filtrer des sources de données qui n'ont pas de relation. Consultez Filtrage de plusieurs sources de données à l'aide d'un paramètre. Les ensembles peuvent uniquement filtrer les sources de données où une relation est établie entre des sources de données. Consultez Filtrer les données de plusieurs sources de données
- Vous pouvez utiliser les paramètres dans les objets texte ou les titres de tableau de bord, tandis que les ensembles (ou champs calculés utilisant des ensembles) peuvent uniquement être utilisés dans les éléments de feuille de calcul étant donné que les ensembles font partie de la source de données.
- Les ensembles sont toujours mis à jour lorsque de nouvelles données sont intégrées dans la source de données. Vous pouvez configurer les paramètres de manière à intégrer de nouvelles données. Consultez l'Étape 5 dans Créer des paramètres
Cette solution peut être imbriquée au sein d'autres calculs. Par exemple, elle pourrait être incluse dans un calcul de niveau de détail (LOD) tel que :
{INCLUDE [Dimension]: SUM(IF [Dimension] = 'FilterValue' THEN [Non-Aggregated Measure] END)}
Merci de nous avoir donné votre avis sur l’efficacité de l’article.
Ouvrir un nouveau cas
Continuer la recherche
Base de connaissances
Communauté
Aide produit
Formation et tutoriels