Et bien j'ai trouvé tout seul, (sans l'aide de T. Malherbe que je ne remercierai jamais assez..... ;),
Mais grâce surtout à cet excellent article :
Events in progress – DAX Patterns
et voici ce qu'il fallait ajouter pour les utilisateurs qui seraient intéressés :
C'était la dernière fonction LASTDATE qui causait ce décalage et voici le code complet :
Nbre Emp (Classique) =
VAR MinDate = MIN('Calendar'[Date])
VAR MaxDate = MAX( 'Calendar'[Date])
VAR NbEmp=
CALCULATE (
COUNTROWS( Effective),
Effective[DateE] <= MaxDate,
Effective[DateS] >= MinDate || ISBLANK(Effective[DateS]),
REMOVEFILTERS('Calendar')
)
RETURN
CALCULATE (
NbEmp,
LASTDATE ('Calendar'[Date] )
)
------------------------------
LAURENT SANCHEZ
Formateur Consultant
laurent@sanchezconsultant.comLE HAVRE
662527022
------------------------------
Original Message:
Sent: Dec 16, 2022 12:23 PM
From: LAURENT SANCHEZ
Subject: Choix du calendrier pour Compter effectif avec une date d'entrée et une date de sortie
Bonsoir Alexis,
oui j'ai bien une table Calendar reliée à la date d'entrée en actif.
La fonction est "presque" bonne pour obtenir mon effectif, mais j'ai un écart concernant les sorites
Voici la fonction qui pose problème, si qqn a une idée pour la corriger :
Nbre Emp =
CALCULATE (
COUNTROWS( Effective),
Effective[DateE] <= MAX ( 'Calendar'[Date] ),
Effective[DateS] >= MIN ( 'Calendar'[Date] ),
ALL('Calendar')
)
------------------------------
LAURENT SANCHEZ
Formateur Consultant
laurent@sanchezconsultant.com
LE HAVRE
662527022
Original Message:
Sent: Dec 16, 2022 06:34 AM
From: Alexis Astier
Subject: Choix du calendrier pour Compter effectif avec une date d'entrée et une date de sortie
Le calendrier c'est une table de date créée avec la fonction CALENDAR ? si oui il faut revoir la plage de la table de date car elle devrait débuter en 1960 du coup,
Sinon pour les dates de sorties au 31/12/2999, le plus simple c'est de remplacer la valeur 31/12/2999 par "null" (vide) dans l'éditeur Power Query (transformer les données), ça devrait régler ce problème.
------------------------------
Alexis Astier
Auditeur
Original Message:
Sent: Dec 16, 2022 06:07 AM
From: LAURENT SANCHEZ
Subject: Choix du calendrier pour Compter effectif avec une date d'entrée et une date de sortie
Bonjour,
tout d'abord merci pour ce retour intéressant, qui fonctionne bien pour compter les entrées et les sorties, mais qui ne permet pas de "reconstituer" l'effectif.
C'est à dire que j'ai des dates d'entrée depuis 1960, et des dates de sortie au 31/12/2999 quand le salarié n'est pas sorti.
Cela me donne :
(Mon calendrier commence en 1984 :

------------------------------
LAURENT SANCHEZ
Formateur Consultant
laurent@sanchezconsultant.com
LE HAVRE
662527022
Original Message:
Sent: Dec 16, 2022 04:13 AM
From: Alexis Astier
Subject: Choix du calendrier pour Compter effectif avec une date d'entrée et une date de sortie
Bonjour,
Pour lier ta table de date à ta table des employés, tu peux aussi établir une relation entre Calendar'[Date] et Effective[DateS]. Quand il y a plusieurs relations entre deux tables, seule une peut être active dans la vue modèle mais tu peux solliciter les relations inactives dans une mesure en utilisant la fonction USERELATIONSHIP, donc tu peux désactiver les deux relations et recourir à cette fonction quand c'est nécessaire.
Pour calculer l'effectif, tu peux tout d'abord faire une mesure "Nombre d'entrées" et une mesure "nombre de sorties"
Nbre d'entrées =
CALCULATE (
COUNTROWS( Effective), 'Effective'[DateE],
USERELATIONSHIP ( 'Calendar'[Date], ' Effective'[DateE] )
)
Nbre de sorties =
CALCULATE (
COUNTROWS( Effective), 'Effective'[DateS],
USERELATIONSHIP ( 'Calendar'[Date], ' Effective'[DateS] )
)
Puis tu utilises les deux mesures pour calculer ton effectif à date :
Effectif à date =
VAR MaxDate =
MAX ( 'Calendar'[Date] )
RETURN
CALCULATE ( [Nombre d'entrées] - [Nombre de sorties], 'Calendar'[Date] <= MxDate )
Je suis loin d'être un expert, mais j'espère que ça peut t'aider.
------------------------------
Alexis Astier
Auditeur
Original Message:
Sent: Dec 15, 2022 04:19 PM
From: LAURENT SANCHEZ
Subject: Choix du calendrier pour Compter effectif avec une date d'entrée et une date de sortie
Bonjour à tous,
j'ai une table avec une liste de salariés avec leur date d'entrée et de sortie
J'ai relié ma table Calendar à ma date d'entrée (je pense que le problème vient de la)
J'arrive à compter le nombre d'entrées et le nombre de sorties par mois, mais mon compte est faux quand je veux calculer l'effectif :
Nbre Emp =
CALCULATE (
COUNTROWS( Effective),
Effective[DateE] <= MAX ( 'Calendar'[Date] ),
Effective[DateS] >= MIN ( 'Calendar'[Date] ),
ALL('Calendar')
)
Exemple du tableau résultat :

Mon "solde" n'est pas correct, comment puis je régler cela ?
Est ce à cause de ma relation entre ma date d'entrée et le calendrier ?
Merci pour votre aide.
------------------------------
LAURENT SANCHEZ
Formateur Consultant
laurent@sanchezconsultant.com
LE HAVRE
662527022
------------------------------