Skip to main content
Announcements
Accelerate Your Success: Fuel your data and AI journey with the right services, delivered by our experts. Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 
STFLP
Contributor
Contributor

calcul dans le script de chargement de données du temps de présence journalier par salarié

Bonjour,

Je souhaiterai calculer le temps de présence journalier par salarié dans mon script de chargement de données, .

l'objectif étant d'obtenir une ligne par salarié et par jour.

Voici ci-dessous un exemple de ma base de données.

STFLP_0-1711096827603.png

Je souhaiterai obtenir le résultat suivant:

STFLP_1-1711097191371.png

 

J'ai essayé pas mal de choses via les fonctions previous ou peek, mais mon principal problème réside dans le fait que je n'arrive pas à obtenir une seule ligne de total par employé.

J'imagine que ce ne doit pas être très compliqué mais je n'y arrive pas.

Quelqu'un aurait-il une idée s'il vous plaît?

Labels (1)
1 Reply
Clement15
Partner - Creator III
Partner - Creator III

Bonjour, ceci n'est pas forcément la manière le plus optimisée, mais elle fonctionne.

 

 

TEST :
LOAD *,
date(Timestamp#(replace(Date,'h',':'),'DD/MM/YYYY hh:mm'),'DD/MM/YYYY') as Day,
time(Timestamp#(replace(Date,'h',':'),'DD/MM/YYYY hh:mm'),'hh:mm') as time

INLINE [
Employé,Entrée/Sortie,Date
Employé I,Entrée,20/03/2024 09h29
Employé I,Sortie,20/03/2024 12h20
Employé I,Entrée,20/03/2024 13h00
Employé I,Sortie,20/03/2024 13h10
Employé I,Entrée,20/03/2024 13h15
Employé I,Sortie,20/03/2024 17h02
Employé 2,Entrée,20/03/2024 09h00
Employé 2,Sortie,20/03/2024 12h00
Employé 2,Entrée,20/03/2024 13h00
Employé 2,Sortie,20/03/2024 16h15
]
;


TEST2:
load
Employé & Day as Clé,
Employé,
Day,
time as Time_Entrée
Resident TEST
where [Entrée/Sortie] = 'Entrée'
;

Left Join

load
Employé & Day as Clé,
time as Time_Sortie
Resident TEST
where [Entrée/Sortie] = 'Sortie'
;


TEST4:
load
Employé,
Day,
minstring(Interval(Time_Sortie - [Time_Entrée] ,'hh:mm')) as Temp
Resident TEST2
where Interval(Time_Sortie - [Time_Entrée] ,'hh:mm') > 0
group by Employé,Day ;


TEST5:
load
Employé,
date(date#(text(Day))) as Day,
time(sum(Temp)) as [Temp de présence]
Resident TEST4
group by Employé,date(date#(text(Day))) ;


drop table TEST,TEST2,TEST4;

Clement15_0-1711102300705.png