Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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,
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 ?
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
<8 donc 8h du J
un dimanche
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,
est ce que tu as testé le script ?
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.
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,
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 🙂
oui c'est le format
essayes avant d'utiliser le champ [New... ] faire Date([New...]) et voir
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.
et si tu fais
Date([New_JOB_DATEHOUR_CREATION],'DD/MM/YYYY hh:mm:ss')
?