Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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 :
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
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);
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
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,
Kevin,
Ton essai m'a donné le résultat suivant:
Au début j'avais le format suivant :
Chadlia,
Peux tu partager le fichier ADP01.QVD ?
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;
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...
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.
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