Skip to main content
Announcements
Introducing a new Enhanced File Management feature in Qlik Cloud! GET THE DETAILS!
cancel
Showing results for 
Search instead for 
Did you mean: 
GOHIERO35
Contributor II
Contributor II

Heures travaillées

Bonjour à tous,

J'essaie d'analyser  le temps travaillé de différents collaborateurs. Pour vous expliquer rapidement j'ai une table main_courante dans laquelle je dispose des heures de connexions (main_type = 200)  et de déconnexions (main_type=201)des personnes. 

J'aimerais pouvoir additionner toutes les fois où la personne s'est connectée puis déconnectée pour avoir son temps de connexion sur une journée.

Je parviens à faire l'addition du max et du minimum mais je ne parviens pas à faire la somme des temps entre chaque connexion et déconnexion...

L'idée est de créer une mesure dans mon application et non directement dans le script.

Voici un exemple ci-dessous!:

MAIN_DATE_DEBUT MAIN_USER MAIN_TYPE MAIN_TYPE_LIBELLE
30/06/2022 01:39:43 22566477 200 Connexion utilisateur
30/06/2022 01:39:50 22566477 201 Déconnexion utilisateur
30/06/2022 01:41:19 22566477 200 Connexion utilisateur
30/06/2022 01:42:22 22566477 201 Déconnexion utilisateur
30/06/2022 01:49:21 22566477 200 Connexion utilisateur
30/06/2022 01:49:53 22566477 201 Déconnexion utilisateur
30/06/2022 01:59:25 22566477 200 Connexion utilisateur
30/06/2022 02:08:15 22566477 201 Déconnexion utilisateur
30/06/2022 02:08:18 22566477 200 Connexion utilisateur
30/06/2022 05:58:59 22566477 201 Déconnexion utilisateur
30/06/2022 05:59:05 22566477 200 Connexion utilisateur
30/06/2022 06:02:33 22566477 201 Déconnexion utilisateur

 

Pour l'exemple ci-dessus j'aimerais par exemple trouver le résultat 4:04:41..

Merci d'avance pour votre aide!

Bonne fin de journée,

Etienne

Labels (1)
2 Replies
vinieme12
Champion III
Champion III

as below

temp:
load 
timestamp#(MAIN_DATE_DEBUT,'DD/MM/YYYY hh:mm:ss') as MAIN_DATE_DEBUT
,MAIN_USER
,MAIN_TYPE
,MAIN_TYPE_LIBELLE
inline [
MAIN_DATE_DEBUT,MAIN_USER,MAIN_TYPE,MAIN_TYPE_LIBELLE
30/06/2022 01:39:43,22566477,200,User login
30/06/2022 01:39:50,22566477,201,User logout
30/06/2022 01:41:19,22566477,200,User login
30/06/2022 01:42:22,22566477,201,User logout
30/06/2022 01:49:21,22566477,200,User login
30/06/2022 01:49:53,22566477,201,User logout
30/06/2022 01:59:25,22566477,200,User login
30/06/2022 02:08:15,22566477,201,User logout
30/06/2022 02:08:18,22566477,200,User login
30/06/2022 05:58:59,22566477,201,User logout
30/06/2022 05:59:05,22566477,200,User login
30/06/2022 06:02:33,22566477,201,User logout
];
NoConcatenate
fact:
Load * ,if(MAIN_TYPE_LIBELLE='User logout' and MAIN_USER=peek('MAIN_USER') ,interval(MAIN_DATE_DEBUT-Peek('MAIN_DATE_DEBUT'),'H:mm:ss')) as loginDuration
Resident temp
Order by MAIN_USER,MAIN_DATE_DEBUT ASC;
drop table temp;
exit Script;

qlikCommunity.PNG

 

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.
GOHIERO35
Contributor II
Contributor II
Author

Merci pour votre aide. 

J'ai oublié de préciser que dans mon tableau il y a d'autres MAIN_TYPE et d'autres MAIN_USER.

Je vous mets une capture d'un exemple de résultat ciblé:

 

MAIN_DATE_DEBUT MAIN_USER MAIN_TYPE MAIN_TYPE_LIBELLE DUREE_CONNECTION
01/07/2022 07:47:37 29151691 200 Connexion utilisateur  
01/07/2022 08:18:55 29151691 1 Consigne lue  
01/07/2022 08:39:46 29151691 1 Consigne lue  
01/07/2022 08:40:25 13216513 200 Connexion utilisateur  
01/07/2022 08:47:50 29151691 123 Création post it  
01/07/2022 08:48:00 13216513 127 Audio ok  
01/07/2022 09:10:27 29151691 1 Consigne lue  
01/07/2022 09:10:33 29151691 1 Consigne lue  
01/07/2022 09:13:25 29151691 201 Déconnexion utilisateur 1:25:48
01/07/2022 09:24:06 29151691 123 Création post it  
01/07/2022 09:24:39 13216513 201 Déconnexion utilisateur 0:44:14
01/07/2022 09:25:02 29151691 1 Consigne lue  
01/07/2022 09:41:43 29151691 123 Création post it  

 

Merci beaucoup pour votre aide.

Bonne journée,

Etienne