Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
caro51100
Contributor II
Contributor II

Fonction date qui ne fonctionne pas

Bonjour à tous,

Je fais appel à vous car la fonction Date() de Qlikview ne fonctionne pas sur mon champ date_tension. Comme vous le verrez dans mon screenshot, le format de ce champ est particulier "Personnalisé". Est-ce que cela aurait un impact ? Comment y remédier ? Merci par avance de votre contribution.

1 Solution

Accepted Solutions
brunobertels
Master
Master

Bonjour Caro 

Explications détaillée ci dessous : 

je prend comme exemple cette valeur '05/01/2019 09:02'

ton champ Date_tension à ce format DD/MM/YYYY hh:mm => il n'y a pas de secondes ,

Qlik ne le reconnait pas comme un timestamp et donc pas comme un nombre mais comme du texte. ( il est justifié à gauche dans QlikSense) 

Donc on va lui dire d'abord  : c'est un TIMESTAMP qui est dans ce format  DD/MM/YYYY hh:mm particulier

timestamp#('05/01/2019 09:02','DD/MM/YYYY hh:mm')

 

Ensuite , tu n'as pas besoin des heures minutes donc on va arrondir la valeur avec FLOOR() :

Si tu fais num( timestamp#('05/01/2019 09:02','DD/MM/YYYY hh:mm') ) tu obtiens 43470,376388889 

avant la virgule c'est la date 05/01/2019 , après la virgule c'est l'heure 09:02

tu as besoin juste de la date donc de :  43470 

Donc 

floor(timestamp#('05/01/2019 09:02','DD/MM/YYYY hh:mm')) = 

 

Enfin tu veux que le format soit au format DATE. Comme c'est un nombre tu n'as pas besoin de date#() mais simplement de date()

 

Soit : 

date(floor(timestamp#('05/01/2019 09:02','DD/MM/YYYY hh:mm')),'DD/MM/YYYY')

 

Ton expression est donc 

date(floor(timestamp#(Date_tension,'DD/MM/YYYY hh:mm')),'DD/MM/YYYY')

 

Capture.JPG

View solution in original post

6 Replies
Seyko
Partner - Creator
Partner - Creator

Bonjour,

Peux-tu plutôt nous montrer l'expression que t'as utilisé pour le calcul de la date sous Qlikview?

cordialement.

Excuse my english, i'm french!
caro51100
Contributor II
Contributor II
Author

Date(Floor(depart_smur),'DD/MM/YYYY')

Seyko
Partner - Creator
Partner - Creator

J'ai rajouté un timestamp#(), teste la pour voir:

Date( Floor( Timestamp#(depart_smur) ),'DD/MM/YYYY' )

 

Excuse my english, i'm french!
caro51100
Contributor II
Contributor II
Author

Cela ne fonctionne pas non plus. Ci-joint quelques lignes de mon fichier excel pour que vous puissiez essayer sur Qlikview à l'occasion. De mon côté je ne trouve pas de solution..

brunobertels
Master
Master

Bonjour Caro 

Explications détaillée ci dessous : 

je prend comme exemple cette valeur '05/01/2019 09:02'

ton champ Date_tension à ce format DD/MM/YYYY hh:mm => il n'y a pas de secondes ,

Qlik ne le reconnait pas comme un timestamp et donc pas comme un nombre mais comme du texte. ( il est justifié à gauche dans QlikSense) 

Donc on va lui dire d'abord  : c'est un TIMESTAMP qui est dans ce format  DD/MM/YYYY hh:mm particulier

timestamp#('05/01/2019 09:02','DD/MM/YYYY hh:mm')

 

Ensuite , tu n'as pas besoin des heures minutes donc on va arrondir la valeur avec FLOOR() :

Si tu fais num( timestamp#('05/01/2019 09:02','DD/MM/YYYY hh:mm') ) tu obtiens 43470,376388889 

avant la virgule c'est la date 05/01/2019 , après la virgule c'est l'heure 09:02

tu as besoin juste de la date donc de :  43470 

Donc 

floor(timestamp#('05/01/2019 09:02','DD/MM/YYYY hh:mm')) = 

 

Enfin tu veux que le format soit au format DATE. Comme c'est un nombre tu n'as pas besoin de date#() mais simplement de date()

 

Soit : 

date(floor(timestamp#('05/01/2019 09:02','DD/MM/YYYY hh:mm')),'DD/MM/YYYY')

 

Ton expression est donc 

date(floor(timestamp#(Date_tension,'DD/MM/YYYY hh:mm')),'DD/MM/YYYY')

 

Capture.JPG

caro51100
Contributor II
Contributor II
Author

Parfait ça fonctionne merci beaucoup 🙂