Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Manipulation de délai en fonction du week end.

Bonjour.

Voici le script d'extraction que j'ai:

SQL SELECT

    NBRE as VolumePecTraitees,

    NATURE as NaturePec,

    ATELIER,

    [FIN DE TRAITEMENT] as Date,

    [DELAI DE TRAITEMENT EN HEURES] as DelaiDeTraitementEnHeures

FROM "TheTable";

Rename Table "TheTable" to "MyTable";

L'information qui m’intéresse est [DELAI DE TRAITEMENT EN HEURES]. On me demande néanmoins de ne tenir compte que des jours ouvrés. Ainsi, je dois réduire de 48h mon [DELAI DE TRAITEMENT EN HEURES] quand on passe un week end et le réduire de 24h quand on passe un jour férié. Il faut aussi faire attention à ce que mon délai de traitement reste positif ou nul. En effet, même avec le week end, j'ai quand même quelques données avec un [DELAI DE TRAITEMENT EN HEURES]très faible voir nul. Il faut que ces données restent à 0 et ne passent pas en négatif.


Comment puis-je faire S'il vous plait ?

Cordialement

4 Replies
clefeuvre
Partner - Contributor II
Partner - Contributor II

Bonjour,

Je suis absente du 13 au 17 févier inclus.

Pour toute demande, vous pouvez envoyer vos mails à support@opso.fr.

Cordialement,

sfatoux72
Partner - Specialist
Partner - Specialist

‌Bonjour,

tu peux utiliser la fonction Qlik NetWorkDays ( voir aide https://help.qlik.com/fr-FR/qlikview/12.1/Subsystems/Client/Content/Scripting/DateAndTimeFunctions/n...)

Tu dois donner à cette fonction la date de début ( que tu vas calculet à partir de date fin et de délai) , de date fin et des jours fériés (qu'il te faudra lister) et elle te retournera le nombre de jour ouvré.

Tu fais pareil avec la fonction age en lui donnant date fin et date début, elle te retournera le nombre de jour total.

EN faisant la différence * 24, tu auras le nombre d'heure à déduire.

Et finalement, tu testes le résultat, si il est inférieur à 0, tu retournes 0.

tu fais ça dans un load placé en dessus de ta requête.

pour info, tu peux nommer ta table directement avec le bon nom plutôt que de la renommer après.

MyTable:

LOAD

   ....;

SQL SELECT

   ...

FROM "TheTable";

clefeuvre
Partner - Contributor II
Partner - Contributor II

Bonjour,

Je suis absente du 13 au 17 févier inclus.

Pour toute demande, vous pouvez envoyer vos mails à support@opso.fr.

Cordialement,

sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour Bertrand,

Si des réponses vous ont aidés, merci de les spécifier comme "Utile".

Si vous désirez recommander une réponse aux autres membre de la communauté, cliquez sur recommander.

Et si la réponse résout votre problème, merci de mettre la question comme résolue, afin d'aider les autres membres de la communauté.

Merci