Accueil – Le CFO masqué › Forums › Power BI › Calcul du nombre de jours ouvrés entre 2 dates de relevé
Étiqueté : Jours ouvrés
- Ce sujet contient 4 réponses, 2 participants et a été mis à jour pour la dernière fois par
llochou, le il y a 4 années et 4 mois.
-
AuteurMessages
-
9 novembre 2020 à 12 h 35 min #83613
llochou
ParticipantBonsoir à tous,
Avant tout, je tiens à préciser que j’ai fait pas mal de recherches sur le sujet pour éviter de vous solliciter mais je n’ai malheureusement pas réussi à trouver mon bonheur. Ma demande est plus complexe que de calculer le nombre de jours ouvrés entre 2 dates.
En effet, je dois calculer le nombre de jours ouvrés écoulés à partir de la 1ère date figurant dans un relevé et la date du jour. La subtilité est que je n’ai pas nécessaire des relevés quotidiens (ex : onglet Relevés / pas de relevé en date du 10/01/2020), je n’ai donc pas toutes les dates qui correspondent à ma table calendrier.J’ai essayé d’utiliser les méthodes suivantes sans succès :
+ Création d’une colonne jours ouvrés (1 ou 0) dans ma table calendrier où samedi & dimanche = 0
+ 1ere mesure testée :
=CALCULATE(SUM(Calendrier[Jours ouvrés]),DATESBETWEEN(Calendrier[Date],Relevé[1ere enregistrement],now()))+ 2nde mesure testée :
=COUNTROWS(FILTER(Calendrier;Calendrier[Date]>=min([Date de fin])&& Calendrier[Jours ouvrés] = 1))Lorsque j’affiche la mesure, ne sont comptabilisés que les jours qui apparaissent dans mon relevé, les autres jours ouvrés ne sont pas rattachés à l’immatriculation et donc sont comptabilisés en (vide).
Or, le nombre de jours ouvrés entre la date de 1ere enregistrement du relevé et la date du jour = 217 (171+46).Je vous joins le fichier d’analyse Excel.
Pourriez-vous m’apporter une aide ?
Merci d’avance.
Lucas
Attachments:
You must be logged in to view attached files.10 novembre 2020 à 8 h 45 min #83709Stéphane Lorin
ParticipantBonjour
en ajoutant un ALL devant la table Calendrier dans votre seconde mesure j’obtiens le résultat souhaité
Mesure Countrow:=COUNTROWS(FILTER(ALL(Calendrier);Calendrier[Date]>=min([Date de fin])&& Calendrier[Jours ouvrés] = 1))
mise à part que votre table de date s’arrête au 30 octobre et qu’il y a quelques jours ouvrés de plus au 10 novembre.
cordialement
Stéphane10 novembre 2020 à 11 h 56 min #83778llochou
ParticipantBonjour Stéphane,
Je n’étais effectivement pas loin du résultat mais sans votre aide je serai bientôt devenu chauve !
Je vous remercie grandement pour votre aide !
Lucas
11 novembre 2020 à 11 h 58 min #83810Stéphane Lorin
ParticipantBonjour
En complément, votre première mesure devrait être correcte si vous supprimer le lien entre la table de date et votre table.
En conservant le lien entre table, la seconde avec le ALL ne donnera pas le bon résultat car vous ne tenez pas compte de la date du jour.
il faut ajouter une condition : Calendrier[Date]<=NOW()Mesure Countrow:=COUNTROWS(FILTER(ALL(Calendrier);Calendrier[Date]<=NOW()&&Calendrier[Date]>=min([Date de fin])&& Calendrier[Jours ouvrés] = 1))
Stéphane
11 novembre 2020 à 12 h 55 min #83818llochou
ParticipantBonsoir Stéphane,
Merci pour ce retour. J’ai effectivement rajouté ce filtre pour tenir compte de la date du jour 🙂
Bonne soirée.
Lucas
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.