Comment construire une mesure DAX pour calculer la somme de la valeur de YTD pour un mois spécifique?
Ici nous avons FactTable groupé par mois. FactTable est rempli à la fois de données réelles et de données prévisionnelles. Le seul moyen de savoir quand la fin réelle est l'information dans le tableau [date du jour] dans la colonne [Fin de l'année]. Dans le tableau [Date limite] dans la colonne [Fin de l'année] - il s'agit d'une table à valeur unique - nous avons le mois intéressant choisi pour lequel nous voulons voir le calcul de l'année en cours. Dans notre cas, c'est mars. FactTable est mis à jour de manière irrégulière tous les mois avec un délai généralement d'un mois. Il n'y a aucun moyen de le relier à des fonctions horaires telles que TODAY en raison d'une mise à jour irrégulière.
.__ Nous aimerions avoir une valeur correcte de YTD affichée en jaune Card Visual pour le mois [Fin de YTD]. Lorsque nous cliquons sur le slicer sur "2018-03", nous obtenons presque ce que nous voulons - la valeur correcte de 66 dans la carte jaune. Cependant cette solution n'est pas automatique. Je veux voir la valeur correcte automatiquement lorsque le mois [Fin d'année en cours] change, dans notre cas en avril ou en mai. Je ne veux pas que ce soit fait par l'utilisateur.
Mon effort désespéré peut être téléchargé à partir du fichier: DAX YTD.pbix
J'ai poursuivi le cerf de différentes manières:
J'apprécierais votre aide.
Mise à jour avant la prime. Aller au niveau supérieur. J'ai introduit une colonne Catégorie dans FactTable. Veuillez télécharger DAX YTD par category.pbix . Donc, le filtrage devient plus complexe maintenant. J'aimerais avoir les chiffres exacts pour la catégorie des pommes depuis le début de l'année.
Je résoudrais cela en ajoutant une colonne calculée à votre tableau Calendrier pour classer chaque ligne en "YTD" ou "Autre", par exemple.
Is YTD =
IF (
[Date] >= DATE ( YEAR ( DISTINCT ( 'Cut off date'[End of YTD] ) ), 1, 1 )
&& [Date] <= DISTINCT ( 'Cut off date'[End of YTD] ),
"YTD",
"Other"
)
J'ajouterais ensuite le nouveau champ Is YTD aux filtres de niveau visuel de votre visuel Carte, puis choisissezYTDdans la liste de filtrage de base. La mesure indiquée peut être votre simple Total measure: SUM (FactTable [Value]).
Il s’agit d’une solution bien plus souple et plus résistante que n’importe quelle gymnastique de mesure spécifique. Vous n'aurez pas besoin d'une explosion de mesures pour appliquer la logique requise en plus de chaque mesure de base - elles fonctionneront toutes naturellement. Vous pouvez appliquer le filtre à n’importe quel niveau: visuel, page, rapport ou le placer dans un segment afin qu’il soit contrôlé par l’utilisateur final.
Je préfère renvoyer les résultats textuels, par exemple. "YTD"/"Other" (plutôt que 1/0, True/False ou Yes/No), car cela permet une extension facile à d'autres exigences, par exemple. "Prior YTD" (1er janvier 2017 au 1er mars 2017). Il est également plus clair lorsqu'il est utilisé dans les éléments visuels.
En fait, je ne devrais pas réclamer le crédit pour cette conception - cela suit à peu près comment la fonctionnalité Heure relative de Cognos Transformer fonctionnait dans les années 90.