Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
chadliagabsi
Creator II
Creator II

NOMBRE D'HEURE ENTRE DEUX DATES

Bonjour,

J'ai voulu calculer le nombre d'heure entre deux dates. J'ai eu les champs date et heure séparée donc je l'ai concaténé pour obtenir le format qui dans l'image. Quand j'obtiens cette format je perd la sélection ( càd chaque dossier a une date d'entrée et sortie alors quand je sélectionne le dossier j'obtiens rien.

Voila le script utilisé pour la concaténation et le calcul des nombres d'heure.

Script:

ADMISSION:

LOAD      ADDOSS as DOSSIER,

  Date(Date#(ADDTEN, 'DDMYYYY'), 'DD/MM/YYYY')&   time(time#(ADHREN, 'hhmm'), 'hh:mm') as DH_E,

  Date(Date#(ADDTSO, 'DDMYYYY'), 'DD/MM/YYYY')&   time(time#(ADHRSO, 'hhmm'), 'hh:mm') as DH_S

FROM

[..\..\ENTREPOT\AS400\FACTU\ADP01.QVD]

(qvd);

CALCUL:

load DOSSIER, interval(date#(DH_S, 'DD/MM/YYYYhh:mm') - date#(DH_E, 'DD/MM/YYYYhh:mm'), 'hh') as h1,

date#(DH_S, 'DD/MM/YYYYhh:mm') - date#(DH_E, 'DD/MM/YYYYhh:mm') as h2

Resident ADMISSION;

Résultat :

test.png

1 Solution

Accepted Solutions
kevinchevrier
Partner - Creator III
Partner - Creator III

Chadlia,

Au regard de ta copie écran, tu as des formats de dates différents à interpréter.

Voici ce que je te propose :

If(len(ADDTEN)=8,

Date(Date#(ADDTEN, 'DDMMYYYY'), 'DD/MM/YYYY')&   time(time#(ADHREN, 'hhmm'), 'hh:mm'),

Date(Date#(ADDTEN, 'DDMYYYY'), 'DD/MM/YYYY')&   time(time#(ADHREN, 'hhmm'), 'hh:mm')) as DH_E


Kevin

View solution in original post

24 Replies
lcloatre
Partner - Creator III
Partner - Creator III

Chadlia,

Je pense que ça peut marchercomme ça :

ADMISSION:

LOAD      ADDOSS as DOSSIER,

  Date(Date#(ADDTEN, 'DDMYYYY')& ' ' & time#(ADHREN, 'hhmm')  , 'DD/MM/YYYY hh:mm') as DH_E,

  Date(Date#(ADDTSO, 'DDMYYYY')& ' '&  time#(ADHRSO, 'hhmm'),  'DD/MM/YYYY hh:mm') as DH_S

FROM

[..\..\ENTREPOT\AS400\FACTU\ADP01.QVD]

(qvd);

kevinchevrier
Partner - Creator III
Partner - Creator III

ADMISSION:

LOAD      ADDOSS as DOSSIER,

  Date(Date#(ADDTEN, 'DDMYYYY'), 'DD/MM/YYYY')& ' ' & time(time#(ADHREN, 'hhmm'), 'hh:mm') as DH_E,

  Date(Date#(ADDTSO, 'DDMYYYY'), 'DD/MM/YYYY')& ' ' & time(time#(ADHRSO, 'hhmm'), 'hh:mm') as DH_S

FROM

[..\..\ENTREPOT\AS400\FACTU\ADP01.QVD]

(qvd);

CALCUL:

load DOSSIER,

interval(date#(DH_S, 'DD/MM/YYYY hh:mm') - date#(DH_E, 'DD/MM/YYYY hh:mm'), 'hh') as h1,

date#(DH_S, 'DD/MM/YYYY hh:mm') - date#(DH_E, 'DD/MM/YYYY hh:mm') as h2

Resident ADMISSION;


Kevin

chadliagabsi
Creator II
Creator II
Author

Laurent,

Ton script m'a donné le résultat ci-dessous. J'ai essayé d'ajouter l'espace entre date et heure mais ça fonctionne pas .

J'ai ajouté  :

  Date(Date#(ADDTEN, 'DDMYYYY'), 'DD/MM/YYYY')&''&  time(time#(ADHREN, 'hhmm'), 'hh:mm') as DH_E,

  Date(Date#(ADDTSO, 'DDMYYYY'), 'DD/MM/YYYY')&''& time(time#(ADHRSO, 'hhmm'), 'hh:mm') as DH_S,

test.png

chadliagabsi
Creator II
Creator II
Author

Kevin,

Ton essai m'a donné le résultat suivant:

test.png

Au début j'avais le format suivant :

test1.png

lcloatre
Partner - Creator III
Partner - Creator III

Chadlia,

Peux tu partager le fichier ADP01.QVD ?

kevinchevrier
Partner - Creator III
Partner - Creator III

Dans ce cas, peut-être :

ADMISSION:

LOAD      ADDOSS as DOSSIER,

  Date(Date#(ADDTEN, 'DDMMYYYY'), 'DD/MM/YYYY')& ' ' & time(time#(ADHREN, 'hhmm'), 'hh:mm') as DH_E,

  Date(Date#(ADDTSO, 'DDMMYYYY'), 'DD/MM/YYYY')& ' ' & time(time#(ADHRSO, 'hhmm'), 'hh:mm') as DH_S

FROM

[..\..\ENTREPOT\AS400\FACTU\ADP01.QVD]

(qvd);

CALCUL:

load DOSSIER,

interval(date#(DH_S, 'DD/MM/YYYY hh:mm') - date#(DH_E, 'DD/MM/YYYY hh:mm'), 'hh') as h1,

date#(DH_S, 'DD/MM/YYYY hh:mm') - date#(DH_E, 'DD/MM/YYYY hh:mm') as h2

Resident ADMISSION;

kevinchevrier
Partner - Creator III
Partner - Creator III

Tu es sûr ?

J'ai simplement rajouté un espace par rapport à ce que tu as fais pour avoir le champ. On devrait logiquement avoir le même résultat avec un espace en plus...

chadliagabsi
Creator II
Creator II
Author

Kevin,

Oui j'ai juste ajouté ' '.

Par contre j'ai eu la sélection quand j'ai mis la table ACP01 dans un nouveau script.

Laurent,

Tu trouves ci-joint le script de la table ACP01 .

Merci.

cje
Employee
Employee

Bonjour Chadlia,

je pense que ton problème n’a rien à voir avec le calcul, mais c’est probablement un problème de modélisation associative. Il n’y a aucune raison pour que tu n’aies pas une sélection associative lorsque tu sélectionnes un numéro de dossier, quel que soit le calcul d’ailleurs.

Peux-tu nous envoyer une copie d’écran de la tête de ton modèle associatif résultat et le cas échéant, un extrait de ton fichier QVD ? Idéalement un extrait réduit de ton application sera parfait.

Merci.

Cdt

Christophe Jouve

De : LAURENT CLOATRE

Envoyé : mardi 4 juillet 2017 14:43

À : Christophe Jouve <Christophe.Jouve@qlik.com>

Objet : Re: - NOMBRE D'HEURE ENTRE DEUX DATES