Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Oussama-Hennani
Contributor III
Contributor III

Manipulation de données (les dates)

Bonjour, 

Je fais des manipulations sur des dates, j'ai besoin de faire la différence entre deux dates en fonction d'un autre champ.
 

Absence.PNG


J'aimerai bien savoir, s'il y a une possibilité de faire la différence entre ( La date de fin [11/07/2020]  ) et ( la date de début [04/09/2020] ). Parce qu'en vrai, j'ai besoin de savoir est ce que la personne en question a repris le travail entre temps ou pas. Surtout, pour voir si elle a prolongé son arrêt ou elle a repris et ensuite elle a déposé un autre arrêt maladie.

En grosso-modo, je veux dire: Si[la date de fin (N-1)- [la date de début (N)] ) > 1 donc le résultat sera de 1 sinon c'est 0 cela en fonction du nom de la personne .

Je vous remercie d'avance. 

QlikView 

6 Replies
Taoufiq_Zarra

Bonjour @Oussama-Hennani , 

tu veux faire ce calcul en script ?

est ce que tu peux partager un exemple de donnée ? (table oui excel)

Regards,
Taoufiq ZARRA

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

(you can mark up to 3 "solutions") 😉
Oussama-Hennani
Contributor III
Contributor III
Author

Bonjour @Taoufiq_Zarra

Je vous remercie pour votre réponse.

En vrai, soit au niveau du script ou autre. Le plus important pour moi, c'est que ça marche.

Je vous mets part d'un jeu de données, toutes les données sont extraites de la BD. Le résultat attendu est d'ajouter la colonne NB arrêt afin de voir combien chaque personne a eu d'arrêt maladie.

J'ai changé le nom des personne pour respecter la confidentialité de l'information.

Je vous remercie.

Taoufiq_Zarra

@Oussama-Hennani ,

tu peux utiliser ce script pour avoir ces résultats :

Data:

LOAD Absence, 
     [Nom et prénom], 
     Date([Date de début]) as [Date de début], 
     Date([Date de fin]) as [Date de fin], 
     [Nb jours]
FROM
[C:\Users\t.zarra\Downloads\DATA (1).xlsx]
(ooxml, embedded labels, table is Feuil1);

Tmp:
noconcatenate

load *,if([Nom et prénom]=peek([Nom et prénom]),if(fabs(floor(peek([Date de fin]))-floor([Date de début]))>1,1,0),1) as [NB arrêts];
load * resident Data order by [Nom et prénom],[Date de début];

drop table Data;

en PJ le output ou si tu as Qlikview le fichier qvw

Taoufiq_Zarra_0-1614940560767.png

 

Regards,
Taoufiq ZARRA

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

(you can mark up to 3 "solutions") 😉
Oussama-Hennani
Contributor III
Contributor III
Author

Bonjour @Taoufiq_Zarra

Je vous remercie pour votre réponse et je m'excuse pour le retard.

Votre méthode semble être logique. Mais je rencontre toujours quelques incohérences au niveau des résultats.

Je vous remercie encore. 

Taoufiq_Zarra

Bonjour @Oussama-Hennani  tu peux donner plus de détail sur les incohérences ?

Regards,
Taoufiq ZARRA

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

(you can mark up to 3 "solutions") 😉
Oussama-Hennani
Contributor III
Contributor III
Author

Bonjour @Taoufiq_Zarra

Je vous remercie pour votre réponse.

Le problème c'est que j'utilise pas de fichier excel. Donc j'ai essayé d'integrer ce que vous m'avez proposé dans mon script en ajustant bien sûr par rapport à ce que j'ai. 

ousking97_0-1615368546505.png

Le résultat donne ça : 

ousking97_1-1615368701025.png

Il y a une redondance, je ne sais pour quelle raison. 

Sachant que j'ai essayé de faire une liaison avec le NOM_ABS mais ça me donne la même chose.

Merci énormement.