Power Query - Calcul d'un délai avec un jour de décalage

Bonjour à tous,

J’essaie de réaliser un fichier qui permet de calculer une performance via power query.

A savoir, le délai doit être calculer en fonction de l’ouverture du site (dans notre exemple de 8h00 à 14h00).

L’idée est la suivante : c’est d’avoir une table qui permet d’avoir tous les délais inférieurs ou non à 04h00.

J’ai donc 5 colonnes (dans l’ordre du process) :

  1. Le numéro de la commande
  2. La date de réception
  3. L’heure de réception
  4. La date de mise en stock
  5. L’heure de mise en stock

Issu de ça j’essaie de calculer une 6ème une colonne : la performance de mise en stock (le délai).

Exemple :

Réception A réceptionnée le 20/11/23 à 8h00, mise en stock le 20/11/23 à 9h20.

A afficher dans la colonne performance : 1h20 (heure mise en stock – heure de réception)

En soit ça c’est simple, mais le hic… c’est lorsque l’on change de jour.

J’ai deux types d’erreurs :

  1. Résultat négatif : réception le 20/11/23 à 10h, mise en stock le 21/11/23 à 9h00, résultat : -1h00 au lieu de 6h00 (de 10h à 14h le 20/11/23 + de 8h à 9h le 21/11/23)
  2. Résultat positif mais faux : réception le 20/11/23 à 10h, mise en stock le 21/11/23 à 11h00, résultat : 1h00 au lieu de 8h00 (de 10h à 14h le 20/11/23 + de 8h à 11h le 21/11/23)

J’espère ne pas être trop flou, avez-vous des idées ?

PS : j’ai essayé le langage DAX mais je me suis perdu dans sa complexité. J’ai aussi essayé de checker les formules sur le site learn microsoft mais sans succès.

Merci à vous :)

Bonsoir,

En général, ici, une question sur PQ ne reste pas longtemps sans réponse...(du moins, pas 05H00...)

Peut-être manque-t-il quelques précisions?

- Un fichier? (qui recoupe toutes les options, sans données confidentielles, mais avec la structure du fichier original) - et le résultat attendu...

- Et surtout, quid de l'article reçu à 11H00 le vendredi précédant le lundi de pâques, et mis en stock le mardi à 09H00?

Bref, même si je ne pourrais peut-être pas répondre, du moins avant jeudi, nul doute que les cadors du forum PQuistes sauront le faire.

Bonne soirée

Edit, j'ai oublié l'option, arrivée le mercredi 11H00, en stock le vendredi 08H00, malgré le jeudi travaillé...

Bonjour,

Effectivement c'est incomplet de ma part.
Ci-joint vous trouverez le fichier type (sans les données confidentielles), mais le fonctionnement est exactement celui-ci.

Les horaires d'ouverture sont de 8h00 à 16h00.

J'ai ajouté 6 exemples qui viennent créer les anomalies (car comme par hasard on est bon sur la data d'hier).

On a les tag ID : (avec le = résultat souhaité)

  1. passage d'un jour à l'autre classique = 1 heure
  2. passage d'un jour à l'autre classique = 3 heures
  3. passage d'un jour à l'autre classique mais avec un traitement avant l'heure d'ouverture (en cas par exemple d'heure sup), dans ce cas le résultat le plus probant serait le delta entre heure de réception et l'heure de fermeture (dans notre exemple 16 - 15 = 1 heure de performance)
  4. passage d'un jour à l'autre classique = 2 heures
  5. passage d'un jour à l'autre classique = 4 heures
  6. passage d'un weekend (vendredi 17/11/23 au lundi 20/11/23) = avec pour résultat souhaité : 1 heure

Dans le cas du weekend, il faudrait décompter le weekend du calcul comme dans le tag ID 6.

Dans le cas de plusieurs jours de décalage (hors férié), il est préférable de compter les jours de déclage, exemple :

- réceptionné le 20/11/23 à 9h00, mise en stock le 23/11/23 à 10, alors compter 17 heures. Dans le cas de jour férié idem, sauf si vous me dites que PQ à une astuce pour décrémenter les jours fériés :)

Merci et j'espère avoir été complet !

Bonjour,

...
Bref, même si je ne pourrais peut-être pas répondre, du moins avant jeudi
...

Comme promis, voici une solution prenant en compte :
- Les jours fériés
- Les jours ouvrés

Je ne prends pas en compte les éventuelles "heures sup", et bridant le matin à 08:00:00 et le soir à 16:00:00

J'ai rajouté un cas de fin d'année...

Bon appétit

Bonjour Cousinhub, le résultat est impressionnant !! Serait-il possible de donner les étapes effectuées ? Sachant que dans mon projet j'ai plus des dossiers avec fichiers csv que des fichiers excel à importer.

Merci d'avance

Bonjour,

Je pense qu'il est préférable que tu ouvres un nouveau fil, avec ton besoin, quelques fichiers csv et ton fichier final, avec des données anonymisées, mais la structure exacte.

Et si les csv se situent dans plusieurs répertoires différents...

Bonne journée

Bonjour,

Pas besoin d'un nouveau fil, en cherchant un peu j'ai trouvé ma réponse. J'avais simplement omis de faire une étape de conversion en durée pour appliquer la fonction Perform.

Hello,

Désolé pour la réponse tardive. Merci beaucoup pour ton aide !! :) Ca fonctionne niquel !

Rechercher des sujets similaires à "power query calcul delai jour decalage"