Calcul heure de nuit

  • Calcul heure de nuit

    Posté par Eric sur 25 novembre 2024 à 13h30

    bonjour

    J’ai un tableau avec dates et heure de début et heure de fin, et j’aimerai avoir en colonne suppl le nombre d’heure de nuit, en power query, afin de construire ensuite ma matrice.
    Sachant que les heures de nuit sont de 21h à 05h.
    Je tourne en rond alors si vous avez une option merci d’avance, voici un exemple.

    • Cette discussion a été modifiée Il y a 1 semaine, 2 jours par  Eric.
    Sophie a répondu Il y a 1 jour, 11 heures 3 Membres · 15 Réponses
  • 15 Réponses
  • Audrey

    Membre
    25 novembre 2024 à 14h43

    Bonjour Eric,

    Comme ça, j’aurai d’abord tenter de faire une table de correspondance pour indiquer que telle heure est une heure de jour ou de nuit. Et ensuite via Query, faire une colonne qui permette de fusionner les deux tables.

    A voir si ça fonctionne 🙂

  • Eric

    Membre
    25 novembre 2024 à 17h35

    Bonjour Audrey

    Une table fait référence à une liste complète du temps possible (heure et minutes), alors que là on ne saisit qu’une tranche horaire.

    Merci

  • Sophie

    Membre
    25 novembre 2024 à 21h40

    J’ai bien une petite idée mais je ferai ça demain depuis un ordi pour faire une démo vite fait.

  • Eric

    Membre
    26 novembre 2024 à 9h10

    Bonjour Sophie

    Merci d’avance pour regarder mon problème.

    Cdt

  • Sophie

    Membre
    26 novembre 2024 à 10h19

    je vais commencer mon test et je reviens vers toi si jamais ça fonctionne

  • Sophie

    Membre
    26 novembre 2024 à 11h40

    J’ai une version qui fonctionne (avec ma logique qui est parfois tordue, mais j’ai commenté toutes les étapes dans l’advanced editor et tu peux me contacter si nécessaire). Je mets ma version dans l’onglet Documents de ce forum

    je l’ai fait sous excel mais c’est transposable dans power query sous power bi desktop

    https://ppfc.fr/?attachment=21263&document_type=document&download_document_file=1&document_file=50

    • Cette réponse a été modifiée Il y a 1 semaine, 1 jour par  Sophie.
  • Eric

    Membre
    26 novembre 2024 à 12h14

    Merci Sophie,

    Les premiers tests sont parfaits, il faut juste que j’intègre 05:00 dans le calcul des Heures Nuit, car si je mets en heure de fin 05:00, il ne me le prends pas en compte (exemple de 22:00 à 05:00 = 7 heures).

    Encore un grand merci pour le temps que tu m’as fait gagné, et surtout dans ma progression.

  • Sophie

    Membre
    26 novembre 2024 à 12h17

    j’ai peut-être mis un strictement inférieur quelque part au lieu de inférieur ou égal,

    edit: ça doit venir de là . D’ailleurs cette étape serait bien plus sympa avec un simple OR au lieu d’un else if, mais je n’ai pas réussi à le mettre en MCODE :s

    //déduit la fin de l’horaire de nuit du poste: si l’heure de fin est comprises entre 21:00 et 05:00, alors la fin du poste de nuit sera la même que l’heure de fin de poste, sinon l’horaire de nuit s’arrête à 05:00
    #”Personnalisée ajoutée4″ = Table.AddColumn(#”Type modifié4″, “Fin heure de nuit”, each if Time.From([Fin du poste])>=[START] then [Fin du poste] else if Time.From([Fin du poste])<[END] then [Fin du poste] else Text.From([Dates])&” “&”05:00:00”)

    • Cette réponse a été modifiée Il y a 1 semaine, 1 jour par  Sophie.
    • Cette réponse a été modifiée Il y a 1 semaine, 1 jour par  Sophie.
  • Eric

    Membre
    26 novembre 2024 à 12h25

    Sophie

    J’ai un souci dans le calcul quand on a un début à 22h (donc heure nuit avant 24h) et une fin à 14h , là il bug car il calcule 0 au lieu de 7 dans cet exemple.

    J’ai regardé mais je bloque.

    cdt

    • Cette réponse a été modifiée Il y a 1 semaine, 1 jour par  Eric.
  • Sophie

    Membre
    26 novembre 2024 à 13h16

    ah oui14H jour suivant? comment tu sais si c’est 14H jour même ou 14H jour suivant dans ton tableau d’origine?

  • Eric

    Membre
    26 novembre 2024 à 14h05

    Un début à 22h donc 14h jour suivant.

    La date sert surtout pour l’heure de début.

    Espérant que ce cas peut être solutionné.

    encore merci

    • Cette réponse a été modifiée Il y a 1 semaine, 1 jour par  Eric.
    • Cette réponse a été modifiée Il y a 1 semaine, 1 jour par  Eric.
  • Sophie

    Membre
    26 novembre 2024 à 15h53

    Mais sur ta première ligne on a 13/11/2024 – début 12:00:00 fin 14:00:00

    et tu vas créer une ligne par ex 26/11/2024 – début 22:00:00 fin 14:00:00

    là faut que je me creuse la tête pour qu’il s’ache quand ajouter un jour à la date fin et quand ne pas le faire car là je n’arrive pas à le lui faire identifier.
    Le plus facile serait d’avoir la date de fin comme tu te l’imagines, après je suppose que tes données source ne la livre pas.

  • Eric

    Membre
    26 novembre 2024 à 16h58

    Effectivement la date de fin n’est pas dans la base.

    Merci encore et désolé pour cette problématique.

  • Eric

    Membre
    27 novembre 2024 à 13h23

    Bonjour Sophie,

    Je tenais à te remercier pour le temps consacré, car j’ai réussi en utilisant ta colonne DFin.

    Encore Bravo.

    Et merci pour ce forum.

  • Sophie

    Membre
    3 décembre 2024 à 8h50

    Contente que tu t’en sois sorti.

    De mon côté j’alterne encore beaucoup les jours devant mon ordi et les jours sur chantier et je n’ai donc pas encore eu le temps de me repencher sur le sujet.

    Bonne continuation

Connectez-vous pour répondre.