Je vous sollicite car à partir d'un TCD et d'un segment, je souhaiterai faire apparaître les données du mois le plus récent.
Par exemple, j'ai un onglet avec une liste sur les 6 premiers mois des effectifs présents tous les mois. Quand je sélectionne le mois 6, le TCD me donne les infos des salariés présents à la fin du mois de juin. Par contre, je souhaiterai faire apparaître quand je sélectionne les 6 premiers mois que les données à fin juin (max mois en fait).
Je ne sais pas s'il y a une solution, j'avais pensé à max mois.
Pas très clair.
Si sélection un mois tu as les données de ce mois, si tu sélectionnes plusieurs tu as les données des mois choisis et si tu sélectionnes rien dans le segment tu as tout.
Donc je ne pige pas ce que tu veux exactement.
Si c'est déterminer automatiquement le dernier mois ou autre...
Tous les travaux de comparaisons de quantités par rapport a une date se font via des mesures.
je prends une table qui donne les dates de début et de fin éventuelle de contrat...
j'expense cetableau pour avoir une entrée par jour .. (ici je n'ai gardé que le premier du mois mais ce n'est pas indispensable)
puis je lie a un calendrier dans le datamodèle.
et je calcule une mesure nombre d'employés = distinctcount(matricule)
et un mesure Employés Y-1 = calculate([Nombre d'employés] ; parallelperiod( calendrier[JJour] ; -12 ; MONTH )
Et là dessus tu peux créer tous les pivots que tu veux, avec tous les filtres,...
Si tu presente un pivot avec Mars, Avril, Mai, tu aurra le total...
Alors je pose cette question dans le cadre d'un reporting trimestriel
Dans mes bases, quand je sélectionne les 6 ou 8 premiers mois, j'ai bien le cumul pour tous les indicateurs donc c'est parfait mais pour l'effectif fin de mois je souhaiterai que les données du dernier mois pour éviter d'avoir un effectif cumulé.
La formule inclus un calcul de la date dan le calcul du nombre d'employé du dernier mois.
Ici le nombre d'employées du dernier mois sur les mois mai, juin & juillet est le nombre de juillet.
La mesure "maxdate" n'est pas utile
VB:
=var topdate=EOMONTH( max(Calendrier[JJour]);-1)+1
// ici on defini le premier du dernier mois de la selection.
//c'est semblable a l'instruction "let" dans les formules que l'on mets dans les cellules
return
//return permet de calculer la mesure
CALCULATE([nombre employé] ; FILTER(Calendrier ; [JJour] =topdate ))
=var topdate=EOMONTH( max(Calendrier[JJour]);-1)+1
// ici on defini le premier du dernier mois de la selection.
//c'est semblable a l'instruction "let" dans les formules que l'on mets dans les cellules
return
//return permet de calculer la mesure
CALCULATE([nombre employé] ; FILTER(Calendrier ; [JJour] =topdate ))