Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
ABAZ
Contributor II
Contributor II

Changer les heures

Bonjour,

 

Je souhaite modifier l'heure afficher dans mes champs par exemple:

Si le DATEHOUR_CREA est inférieur à 8h alors il devient egal à 8h, si il est supérieur à 19H, il devint 8h à J+1, si dimanche alors J+1 8h.

Je ne sais pas comment lui dire d'afficher l'heure que je veux, sachant que le format de mon champ DATEHOUR_CREA est le suivant : YYYY-MM-DD hh:mm:ss,00000

Merci bcp, vous êtes d'une aide précieuse. 

1 Solution

Accepted Solutions
Taoufiq_Zarra

ah oui

modifier juste >19 par >=19

la formule devient :

if(num(WeekDay(Date(DATEHOUR_CREA)))=6,timestamp(Date(DayStart(DATEHOUR_CREA)+1)+time(maketime(8,0,0))),if(Hour(DATEHOUR_CREA)<8,timestamp(DayStart(DATEHOUR_CREA)+time(maketime(8,0,0)),'DD/MM/YYYY hh:mm:ss'),if(Hour(DATEHOUR_CREA)>=8 and Hour(DATEHOUR_CREA)<19,DATEHOUR_CREA,if(Hour(DATEHOUR_CREA)>=19,if(num(WeekDay(Date(DayStart(DATEHOUR_CREA)+1)))=6,timestamp(Date(DayStart(DATEHOUR_CREA)+2)+time(maketime(8,0,0))),timestamp(Date(DayStart(DATEHOUR_CREA)+1)+time(maketime(8,0,0))))))))  as  New_DATEHOUR_CREA,

 

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉

View solution in original post

17 Replies
brunobertels
Master
Master

Bonjour 

regarde ce post qui devrait t'aider dans ta demande 

https://community.qlik.com/t5/Groupe-des-Utilisateurs/D%C3%A9but-de-journ%C3%A9e-06h00/gpm-p/1633995 

 

Sinon est ce que tu peux clarifier ta demande car je comprends que

si jour_1_heure < 8h alors afficher jour_1 et 8h 

si si jour_1_heure > 19h alors afficher jour_2 et 8h 

mais si l'heure est comprise entre 8h et 19 h tu veux afficher quoi ? 

Taoufiq_Zarra

Bonjour,

essayes cette version :

if(num(WeekDay(Date(DATEHOUR_CREA)))=6,timestamp(Date(DayStart(DATEHOUR_CREA)+1)+time(maketime(8,0,0))),if(Hour(DATEHOUR_CREA)<8,timestamp(DayStart(DATEHOUR_CREA)+time(maketime(8,0,0)),'DD/MM/YYYY hh:mm:ss'),if(Hour(DATEHOUR_CREA)>=8 and Hour(DATEHOUR_CREA)<19,DATEHOUR_CREA,if(Hour(DATEHOUR_CREA)>19,if(num(WeekDay(Date(DayStart(DATEHOUR_CREA)+1)))=6,timestamp(Date(DayStart(DATEHOUR_CREA)+2)+time(maketime(8,0,0))),timestamp(Date(DayStart(DATEHOUR_CREA)+1)+time(maketime(8,0,0))))))))  as  New_DATEHOUR_CREA,

 

quelques résultats :

>19h donc 8 du J+1

Capture.PNG

 

<8 donc 8h du J

Capture.PNG

un dimanche

Capture.PNG

 

d'autres cas sont aussi traités par exemple quand dépasse 19h donc on passe à 08h00 du J+1 mais J+1 c'est un dimanche donc on passe à J+2 8:00

etc

Slt,

 

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
Taoufiq_Zarra

est ce que tu as testé le script ?

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
ABAZ
Contributor II
Contributor II
Author

Bonjour,

 

Déjà un grand merci pour ton aide Taoufiq.

J'ai rentré la requête comme tu l'as écris mais j'ai une case vide quand l'heure dépasse les 19h.

Tu trouveras ci-joint un screen.

 

 
Taoufiq_Zarra

ah oui

modifier juste >19 par >=19

la formule devient :

if(num(WeekDay(Date(DATEHOUR_CREA)))=6,timestamp(Date(DayStart(DATEHOUR_CREA)+1)+time(maketime(8,0,0))),if(Hour(DATEHOUR_CREA)<8,timestamp(DayStart(DATEHOUR_CREA)+time(maketime(8,0,0)),'DD/MM/YYYY hh:mm:ss'),if(Hour(DATEHOUR_CREA)>=8 and Hour(DATEHOUR_CREA)<19,DATEHOUR_CREA,if(Hour(DATEHOUR_CREA)>=19,if(num(WeekDay(Date(DayStart(DATEHOUR_CREA)+1)))=6,timestamp(Date(DayStart(DATEHOUR_CREA)+2)+time(maketime(8,0,0))),timestamp(Date(DayStart(DATEHOUR_CREA)+1)+time(maketime(8,0,0))))))))  as  New_DATEHOUR_CREA,

 

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
ABAZ
Contributor II
Contributor II
Author

Bonjour,

 

Alors je n'ai plus le problème précédent mais maintenant j'ai quelque chose de bizarre (image en PJ).

C'est le format peut-être ?

Merci 🙂

Taoufiq_Zarra

oui c'est le format

essayes avant d'utiliser le champ [New... ] faire Date([New...]) et voir

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
ABAZ
Contributor II
Contributor II
Author

Si je fais ça, je n'aurais que les dates mais pas les heures.

Pour faire des minervals précis j'ai besoin d'avoir les heures.

Merci encore dès tes réponses très rapides.

Taoufiq_Zarra

et si tu fais

Date([New_JOB_DATEHOUR_CREATION],'DD/MM/YYYY hh:mm:ss')

?

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉