Date de dernière modification : 17 Mar 2023
Environnement
Tableau DesktopRésolution
Option 1 : ajouter une instruction FIXED
La fonction de niveau de détail (LOD) FIXED peut être convertie en dimension. En fonction du calcul d'origine, la solution exacte ne sera pas la même, mais n'oubliez pas que le calcul dans son ensemble doit être non agrégé (les champs non agrégés, FIXED, les paramètres et les valeurs littérales constantes sont tous non agrégés). Voir les exemples suivants :Exemple 1
Peut uniquement être une mesure :IF SUM([SALES]) < 100 THEN "Low" ELSE "High" END
IF { FIXED [Region] : SUM( [Sales] ) } < 100 THEN "Low" ELSE "High" END
Exemple 2
Peut uniquement être une mesure :AVG( IF { FIXED [Region] : SUM( [Sales] ) } < 100 THEN "Low" ELSE "High" END )
{FIXED [Category] : AVG( IF { FIXED [Region] : SUM( [Sales] ) } < 100 THEN "Low" ELSE "High" END ) }
Exemple 3
Peut uniquement être une mesure :ATTR( [Category] ) + " value"
{ FIXED [Order ID] : MIN( [Category] ) } + " value"
Remarque : ATTR() a dû être remplacé par MIN(), car ATTR() est une fonction de table et elle ne peut pas être utilisée à l'intérieur d'une expression FIXED. ATTR() renvoie NULL s'il existe plusieurs valeurs uniques de [Category] dans une même partition (ligne, cellule, barre, point de ligne, etc.) de la vue, ce qui permet d'identifier les problèmes de qualité des données. MIN(), d'autre part, renverra toujours la valeur minimale, à savoir la première dans l'ordre alphabétique des chaînes. Tant que MIN( [Category] ) est fixé à une dimension ou à une combinaison de dimensions qui n'a toujours qu'une seule valeur de catégorie, il n'y aura aucun problème.
Option 2 : supprimer des agrégations
Parfois, l'agrégation n'est pas vraiment nécessaire. Par exemple, { FIXED [Region] : SUM( [Sales] } renvoie le total des ventes par région, mais si la source de données n'a qu'un seul enregistrement par région, alors [Sales] renvoie la même valeur.Exemple 1
Peut uniquement être une mesure :IF SUM([SALES]) < 100 THEN "Low" ELSE "High" END
IF [Sales] < 100 THEN "Low" ELSE "High" END
Option 3 : utiliser un champ de classe généré par Tableau
Dans certains cas, il peut être possible de remplacer le calcul d'origine par un champ de classe généré par Tableau. Voir Créer des classes à partir d'une mesure continuepour obtenir des instructions.
Option 4 : effectuer le calcul dans Tableau Prep
La sortie de Tableau Prep sera systématiquement non agrégée et pourra donc toujours être convertie en dimension. En fonction du calcul d'origine, les étapes nécessaires dans Tableau Prep ne seront pas les mêmes. En général, pour répliquer une expression telle que SUM( [Sales] ) dans Tableau Prep, vous aurez besoin d'une étape d'agrégation.Les calculs de table ne peuvent pas être non agrégés, car ils ne peuvent pas être placés à l'intérieur des fonctions de niveau de détail. Certains calculs de table peuvent être recréés dans Tableau Prep. Par exemple, LOOKUP() peut parfois être remplacé par une jointure décalée. Voir Calcul de table Lookup dans Tableau Prep
Option 5 : joindre les données plutôt que d'utiliser la fusion des données
Les champs d'une source de données secondaire doivent être agrégés. Il s'agit d'une limitation de la fusion des données pour laquelle il n'existe pas de solution. Envisagez une jointure entre bases de données ou une jointure dans Tableau Prep.Cause
Si une agrégation est utilisée dans le champ calculé, la mesure ne peut pas être convertie en dimension parce que les résultats du calcul sont dynamiques.
Par exemple, SUM( [Sales] ) ne renvoie pas les mêmes résultats lorsque [Region] se trouve sur l'étagère Lignes et lorsque [Category] se trouve sur l'étagère Lignes. Cependant, l'expression {FIXED [Region] : SUM( [Sales] ) } correspondra toujours au total des ventes par région. L'ajout de l'instruction FIXED indique à Tableau comment calculer SUM(), qui indique ensuite à Tableau comment regrouper chaque enregistrement en fonction des ventes totales de la région à laquelle il appartient.
Par exemple, SUM( [Sales] ) ne renvoie pas les mêmes résultats lorsque [Region] se trouve sur l'étagère Lignes et lorsque [Category] se trouve sur l'étagère Lignes. Cependant, l'expression {FIXED [Region] : SUM( [Sales] ) } correspondra toujours au total des ventes par région. L'ajout de l'instruction FIXED indique à Tableau comment calculer SUM(), qui indique ensuite à Tableau comment regrouper chaque enregistrement en fonction des ventes totales de la région à laquelle il appartient.
Informations supplémentaires
Pourquoi Tableau utilise-t-il des dimensions et des mesures ?
Tableau tire parti des propriétés communes des données partagées entre différentes sources de données très différentes afin de prendre des décisions intelligentes sur la façon d'afficher les données.
Imaginons que votre source de données contient un champ avec des valeurs numériques, mais qui est nommé « ID ». Lorsque vous ajoutez « ID » à l'étagère Lignes, au lieu d'obtenir un graphique à barres sans intérêt qui additionne toutes les valeurs d'ID, vous obtenez une ligne pour chaque ID. Comment Tableau sait-il le faire ? Les champs nommés « ID » sont un cas particulier ; ils sont considérés par défaut comme des dimensions.Les dimensions contiennent des données utilisées pour regrouper d'autres données. Ainsi, Tableau sait que les dimensions sont généralement des en-têtes plutôt que des graphiques, même lorsque la dimension contient des données numériques.
Les dimensions et les mesures sont des concepts issus de la gestion des données qui donnent à Tableau des indices sur la façon dont les données doivent être affichées. Pour plus d'informations sur la manière dont Tableau gère les dimensions et les mesures, consultez Dimensions et mesures, Bleu et vert
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
Trending Articles
Results 1-3 of 50