nbre de de jours par mois entre 2 dates
-
nbre de de jours par mois entre 2 dates
nbre de de jours par mois entre 2 datesFollow
LAURENT SANCHEZ
LAURENT SANCHEZDec 29, 2021 07:47 AM
Bonjour, j’ai un tableau dans lequel j’ai indiquĆ© la date d’entrĆ©e et de sortie de chaque salariĆ©, et …
1. nbre de de jours par mois entre 2 datesLAURENT SANCHEZ
Posted Dec 29, 2021 07:47 AM
Bonjour,
j’ai un tableau dans lequel j’ai indiquĆ© la date d’entrĆ©e et de sortie de chaque salariĆ©, et j’aimerais obtenir une mesure me permettant de compter le nombre de jours pour chaque salariĆ© et PAR MOIS
(pour compter le nombre de jours au total je connais DATEDIFF, mals j’ai besoin de connaitre le nb par mois) :Nom Date dĆ©but Date fin
Pierre 10/10/2021 25/12/2021
Marc 10/12/2021 25/12/2021
Yves 01/09/2021 31/12/2021
Auriez vous une idƩe ?Merci
——————————
LAURENT SANCHEZ
Formateur Consultant
laurent@sanchezconsultant.com
LE HAVRE
662527022
——————————2. RE: nbre de de jours par mois entre 2 dates
Silver Contributor
Olivier Aillery
Posted Dec 30, 2021 04:53 AM
Bonjour Laurent,La méthode à suivre est la suivante :
1/ Avoir une table de dates et dans cette table une colonne avec des 1 et 0 selon que le jour est ouvrƩ ou non
2/ Faire la somme de cette colonne avec un CALCULATE et un DATESBETWEEN ou DATESINPERIOD pour sélectionner entre les deux dates.Si vous avez déjà une table de dates, ci dessous quelques formules DAX pour créer les colonnes manquantes :
1/ Calcul des jours fériés mobiles, à créer dans la table de dates
LUNDI DE PAQUES
Date Lun Paques = DATE(1900,1,1)+(ROUND(DATE(MonCalendrier[Annee],4,MOD(234-11*MOD(MonCalendrier[Annee],19),30))/7,0)*7-6)-1
DIMANCHE & LUNDI DE PENTECOTE
Date Dim Pentecote = MonCalendrier[Date Lun Paques]+48
Date Lundi Pentecote = MonCalendrier[Date Lun Paques]+49
JEUDI DE L’ASCENSION
Date Jeu Ascension = MonCalendrier[Date Lun Paques]+382/ Test pour crƩer colonne avec 0 et 1 selon que je jour est travaillƩ ou non :
JoursOuvres = SWITCH (FORMAT (MonCalendrier[DateRef], “dd/mm”), “01/01”,0, //Jour de lan
“01/05”,0, //Fete du travail
“08/05”,0, //Armistice 39-45
“14/07”,0, //Fete nationale
“15/08”,0, //Assomption
“01/11”,0, //Toussaint
“11/11”,0, //Armistice 14-18
“25/12”,0, //Noel
SWITCH(VALUE(MonCalendrier[DateRef]), VALUE(MonCalendrier[Date Lun Paques]),0, //Lundi de paques
VALUE(MonCalendrier[Date Jeu Ascension]),0, //Jeudi de l’Ascension
VALUE(MonCalendrier[Date Dim Pentecote]),0, //Dimanche de Pentecote
VALUE(MonCalendrier[Date Lundi Pentecote]),0, //Lundi de Pentecote
SWITCH(MonCalendrier[JourSemaineNom], //Test du WE (sam dim)
“samedi”,0, “dimanche”,0,1))) //Jour Ferie=0, Non Ferie=1āEt si jamais vous n’avez pas de table de dates, voici un lien pour en crĆ©er une :
CrƩation table de datesBon calcul !
——————————
Olivier
——————————3. RE: nbre de de jours par mois entre 2 dates
LAURENT SANCHEZ
Posted Jan 03, 2022 05:20 AM
Bonjour Olivier,
je viens de rentrer de congĆ©s š et je vous remercie pour votre rĆ©ponse dĆ©taillĆ©e, mais je souhaitais compter le nombre de jours entre 2 dates, en DAX, sans ajout de tables, et par mois (les jours fĆ©riĆ©s m’importent peu)——————————
LAURENT SANCHEZ
Formateur Consultant
laurent@sanchezconsultant.com
LE HAVRE
662527022
——————————4. RE: nbre de de jours par mois entre 2 dates
Silver Contributor
Olivier Aillery
Posted Jan 03, 2022 06:39 AM
Bonjour Laurent,S’il s’agit juste du nombre de jours la fonction DATEDIFF devrait suffire, s’il faut par contre retirer les WE je te conseille l’utilisation d’une table de dates. Avec Power BI difficile de jouer sur les dates sans un calendrier (table de dates).
A ma connaissance il n’existe pas l’Ć©quivalent Excel de NetWorkingDays en PBI d’où la table de dates qui de toute faƧon est aussi utile (voire indispensable) avec la plupart des fonctions de Time Intelligence.
C’est trĆØs rapide comme crĆ©ation de table, avec une fonction CALENDARAUTO ou avec le code que je t’ai proposĆ©.Bon calcul et bonne reprise
——————————
Olivier
——————————5. RE: nbre de de jours par mois entre 2 dates
Silver Contributor
Olivier Aillery
Posted Jan 03, 2022 04:52 AM
Bonjour Laurent,Est-ce que cela fonctionne, ou avez-vous besoin de plus d’informations ?
Bonne journƩe
——————————
Olivier
——————————6. RE: nbre de de jours par mois entre 2 dates
LAURENT SANCHEZ
Posted Jan 03, 2022 06:48 AM
Bonjour Olivier,
comment implĆ©menter la fonction DATEDIFF dans une mesure ?——————————
LAURENT SANCHEZ
Formateur Consultant
laurent@sanchezconsultant.com
LE HAVRE
662527022
——————————7. RE: nbre de de jours par mois entre 2 dates
Silver Contributor
Olivier Aillery
Posted Jan 03, 2022 07:03 AM
Edited by Olivier Aillery Jan 03, 2022 07:05 AM
Bonjour Laurent,Dans une mesure il va falloir “l’aider” Ć sĆ©lectionner la valeur Ć utiliser.
Une fonction SELECTEDVALUE, LASTDATE, MIN devrait pouvoir aider à sélectionner cette valeur.
Cela dĆ©pend du tableau dans lequel tu souhaites l’utiliser, et aussi bien sur du modĆØle s’il y en a un.
Par exemple dans un tableau avec des factures comme niveau de dĆ©tail, j’utilise cette mesure pour calculer l’Ć©cart entre date facture et date Ć©chĆ©ance.
Sans la fonction SELECTEDVALUE j’obtiens une erreur car PBI ne “sait” pas quelle dates il doit prendre en compte parmi toutes celles de la colonne.
Mesu Nb Jours OuvrƩs entre DateFact et EchƩance = CALCULATE(
SUM(MonCalendrier[JoursOuvres]),//Somme de la colonne avec des 0 et des 1
DATESBETWEEN(MonCalendrier[DateRef],//Référence à la table de dates
SELECTEDVALUE(Factures[Date Facture]),//Date de dƩbut= Date facture
SELECTEDVALUE(Factures[Date Echeance Fact])))//Date de Fin de pƩriode= date ƩchƩanceDonc dans ton cas, il te faudra un SELECTEDVALUE sur DATEDEBUT et un autre sur DATE de FIN, dans ta fonction DATEDIFF.
J’espĆØre que cela t’aidera.——————————
Olivier
——————————8. RE: nbre de de jours par mois entre 2 dates
Silver Contributor
Olivier Aillery
Posted Jan 05, 2022 10:39 AM
Bonjour,Ca fonctionne ? Si oui n’hĆ©sites pas Ć partager la formule finale pour les autres membres.
Bonne journƩe
——————————
Olivier
——————————9. RE: nbre de de jours par mois entre 2 dates
Philippe CULOT
Posted Jan 06, 2022 02:51 AM | view attached
Bonjour Laurent
le rĆ©sultat comme demandĆ© dans le post . Il faut passer par quelques Ć©tapes Power Query largement inspirĆ©es par ce post Power Query – Calculer Nb Jours entre deux Date en Mois et AnnĆ©e – YouTube——————————
Philippe CULOT
Data Analyst
——————————Attachment(s)
pbixEmployƩs.pbix
10. RE: nbre de de jours par mois entre 2 dates
LAURENT SANCHEZ
Posted Jan 11, 2022 06:12 AM
Bonjour Ć tous,
j’ai trouvĆ© une mĆ©thode qui me permet de crĆ©er une mesure en DAX sans avoir besoin de prĆ©parer mes donnĆ©es avec PowerQuery.Je me suis basĆ© sur le pattern Events in Progress qui m’avait Ć©tĆ© proposĆ© par Bertand d’arbonneau
https://www.daxpatterns.com/events-in-progress/Et je l’ai adaptĆ© pour compter le nb de jours d’absence, par mois, pour les employĆ©s :
Si vous avez mieux ou plus concis, je prends š
Nb Jours =
VAR MinDate = MIN ( ‘Calendar'[Date] )
VAR MaxDate = MAX ( ‘Calendar'[Date] )
VAR Result =
CALCULATE (
SUMX (Absences,
IF(DATEDIFF(MAX(MinDate,Absences[Date DƩbut]),MIN(MaxDate,Absences[Date Fin]),DAY)+1<0,0,
DATEDIFF(MAX(MinDate,Absences[Date DĆ©but]),MIN(MaxDate,Absences[Date Fin]+1),DAY)+1)),ALL(‘Calendar’)
)
RETURN
Result——————————
LAURENT SANCHEZ
Formateur Consultant
laurent@sanchezconsultant.com
LE HAVRE
662527022
——————————11. RE: nbre de de jours par mois entre 2 dates
Bronze Contributor
Bertrand d’Arbonneau
Posted Jan 11, 2022 10:38 AM
Edited by Bertrand d’Arbonneau Jan 11, 2022 03:46 PM
Une autre approche consiste Ć itĆ©rer les dates dans le contexte d’Ć©valuation, compter le nombre d’absences pour chaque journĆ©e, puis faire la somme. Hors exception Ć investiguer, le code suivant donne les mĆŖmes rĆ©sultats que la formule Ć base de DATEDIFF, mais privilĆ©gie l’utilsation du Storage Engine.Nbr Jours Absence =
SUMX (
VALUES ( Calendar[Date] ),
VAR _day = Calendar[Date]
RETURN
CALCULATE (
COUNTROWS ( Absences ),
Absences[Date dƩbut] <= _day,
Absences[Date fin] >= _day,
ALL ( Calendar )
)
)——————————
Bertrand d’Arbonneau
——————————12. RE: nbre de de jours par mois entre 2 dates
LAURENT SANCHEZ
Posted Jun 23, 2022 01:44 AM
Bonjour Bertrand,
vous m’aviez donnĆ© cette technique il y a quelque mois qui fonctionne bien pour connaitre le nombre de jours entre 2 dates par mois.J’aurais aimĆ© obtenir le mĆŖme comptage mais par MOIS (toujours entre 2 dates)
Avez vous une idƩe ?
br Jours Absence =
SUMX (
VALUES ( Calendar[Date] ),
VAR _day = Calendar[Date]
RETURN
CALCULATE (
COUNTROWS ( Absences ),
Absences[Date dƩbut] <= _day,
Absences[Date fin] >= _day,
ALL ( Calendar )
)
)ā——————————
LAURENT SANCHEZ
Formateur Consultant
laurent@sanchezconsultant.com
LE HAVRE
662527022
——————————
Sorry, there were no replies found.
The discussion ‘nbre de de jours par mois entre 2 dates’ is closed to new replies.