Loading

Les instructions CASE et IF contenant une expression LOD retournent des résultats inattendus

Date de publication: Feb 20, 2023
Description
Lorsque vous utilisez une expression de niveau de détail (LOD) dans une déclaration CASE ou IF, les résultats retournés sont plus nombreux qu'attendu. 

Cause

Les expressions LOD sont agrégées d'une manière unique à partir des autres calculs et mesures dans Tableau Desktop. Lorsque Tableau Desktop valide un champ calculé, le logiciel exécute une vérification pour déterminer le type de champ retourné, ce qui, au bout du compte, déterminera le mode d'agrégation du champ dans la vue. 

Lors de l'exécution du contrôle de validation (comment Tableau Desktop détermine si le champ calculé est valide ou non), Tableau Desktop détermine également que le champ n'est pas purement une expression de niveau de détail (LOD), en raison de la référence à la dimension. Le champ n'étant pas validé comme une expression LOD pure, l'agrégation dans la vue affiche le résultat « inattendu ».
Résolution
Vous pouvez vérifier les instructions suivantes dans le classeur joint.

Option 1

Divisez l'expression dans le calcul LOD par SUM( [Number of Records]).
par exemple :
CASE [Category]
WHEN "Office Supplies"
THEN { INCLUDE [Customer Name]: MAX([Sales]) }
END

Devient :
CASE [Category]
WHEN "Office
Supplies"
THEN { INCLUDE [Customer Name]:MAX([Sales])/ SUM([Number of Records])}
END

Option 2

Déplacez l'agrégation dans la déclaration CASE ou IF,
par exemple :
CASE [Category]
WHEN "Office
Supplies"
THEN { INCLUDE [Customer Name]: MAX([Sales]) }
END

Devient :
CASE MIN( [Category] )
WHEN "Office
Supplies"
THEN SUM( { INCLUDE [Customer Name]:MAX([Sales])} )
END
Ressources supplémentaires


Discuter de cet article... Forum de commentaires
Numéro d’article de la base de connaissances

001473493

Pièces jointes

LOD within CASE or IF statement.twbx

1155 KB

 
Chargement
Salesforce Help | Article