Bonjour à tous
Je charge une liste ci dessous classé par date , Agent , type, nombre et Durée.
Parmi les différents champs de la colonne Type j'ai par Agent deux fois le type 'Pause'
Je cherche dans le script à changer l'intitulé Pause par 'HorsProd' pour chaque ligne ou le type est pause et le nombre et le plus élevé
Date | Nom | Type | Nombre | Durée |
26/10/2018 | Agent 1028 | Attente | 30 | 0h42'28 |
26/10/2018 | Agent 1028 | Sonnerie | 1 | 0h00'10 |
26/10/2018 | Agent 1028 | Traitement | 37 | 2h27'25 |
26/10/2018 | Agent 1028 | Appel entrant | 29 | 2h04'16 |
26/10/2018 | Agent 1028 | En attente | 1 | 0h03'51 |
26/10/2018 | Agent 1028 | Rappel | 8 | 0h23'09 |
26/10/2018 | Agent 1028 | Post-travail | 37 | 1h41'53 |
26/10/2018 | Agent 1028 | Pause | 5 | 0h19'58 |
26/10/2018 | Agent 1028 | Pause | 3 | 0h02'33 |
26/10/2018 | Agent 1028 | Personnelle | 1 | 0h12'07 |
26/10/2018 | Agent 1028 | Sortant | 1 | 0h05'18 |
26/10/2018 | Agent 1042 | Attente | 45 | 0h27'57 |
26/10/2018 | Agent 1042 | Sonnerie | 2 | 0h00'18 |
26/10/2018 | Agent 1042 | Traitement | 55 | 3h18'54 |
26/10/2018 | Agent 1042 | Appel entrant | 46 | 2h44'14 |
26/10/2018 | Agent 1042 | En attente | 8 | 0h20'17 |
26/10/2018 | Agent 1042 | Rappel | 9 | 0h34'40 |
26/10/2018 | Agent 1042 | Post-travail | 55 | 2h46'50 |
26/10/2018 | Agent 1042 | Pause | 4 | 0h20'52 |
26/10/2018 | Agent 1042 | Pause | 2 | 0h00'29 |
26/10/2018 | Agent 1042 | Personnelle | 2 | 0h20'23 |
Ainsi ceci
Pause avec 5 et Pause avec 3
26/10/2018 | Agent 1028 | Pause | 5 | 0h19'58 |
26/10/2018 | Agent 1028 | Pause | 3 | 0h02'33 |
devrait ressortir comme ceci
26/10/2018 | Agent 1028 | HorsProd | 5 | 0h19'58 |
26/10/2018 | Agent 1028 | Pause | 3 | 0h02'33 |
Mais je ne sais pas comment faire dans le script.
J'ai éssayer avec Replace mais comment indiquer le Replace(Type,'Pause','HorsProd') uniquement pour sur les intitulés 'Pause' on le nombre le plus élevé
Et ceci pour chaque Agent et Chaque date ?
Merci par avance
Bruno
Bonjour
Voici une solution:
data:
LOAD
*
INLINE [
Date, Nom, Type, Nombre, Durée
26/10/2018, Agent 1028, Attente, 30, "0h42'28"
26/10/2018, Agent 1028, Sonnerie, 1, "0h00'10"
26/10/2018, Agent 1028, Traitement, 37, "2h27'25"
26/10/2018, Agent 1028, Appel entrant, 29, "2h04'16"
26/10/2018, Agent 1028, En attente, 1, "0h03'51"
26/10/2018, Agent 1028, Rappel, 8, "0h23'09"
26/10/2018, Agent 1028, Post-travail, 37, "1h41'53"
26/10/2018, Agent 1028, Pause, 5, "0h19'58"
26/10/2018, Agent 1028, Pause, 3, "0h02'33"
26/10/2018, Agent 1028, Personnelle, 1, "0h12'07"
26/10/2018, Agent 1028, Sortant, 1, "0h05'18"
26/10/2018, Agent 1042, Attente, 45, "0h27'57"
26/10/2018, Agent 1042, Sonnerie, 2, "0h00'18"
26/10/2018, Agent 1042, Traitement, 55, "3h18'54"
26/10/2018, Agent 1042, Appel entrant, 46, "2h44'14"
26/10/2018, Agent 1042, En attente, 8, "0h20'17"
26/10/2018, Agent 1042, Rappel, 9, "0h34'40"
26/10/2018, Agent 1042, Post-travail, 55, "2h46'50"
26/10/2018, Agent 1042, Pause, 4, "0h20'52"
26/10/2018, Agent 1042, Pause, 2, "0h00'29"
26/10/2018, Agent 1042, Personnelle, 2, "0h20'23"
];
left Join(data)
LOAD
Max(Nombre) as Nombre,
1 as FLG_MAX,
Date,
Nom,
Type
Resident data
Where
Type = 'Pause'
Group by
Date,
Nom,
Type
;
NoConcatenate
LOAD
if(FLG_MAX = 1 , 'HorsProd', Type) as Type,
Date,
Nom,
Nombre,
Durée
Resident data
;
DROP Table data;
Bonjour
Voici une solution:
data:
LOAD
*
INLINE [
Date, Nom, Type, Nombre, Durée
26/10/2018, Agent 1028, Attente, 30, "0h42'28"
26/10/2018, Agent 1028, Sonnerie, 1, "0h00'10"
26/10/2018, Agent 1028, Traitement, 37, "2h27'25"
26/10/2018, Agent 1028, Appel entrant, 29, "2h04'16"
26/10/2018, Agent 1028, En attente, 1, "0h03'51"
26/10/2018, Agent 1028, Rappel, 8, "0h23'09"
26/10/2018, Agent 1028, Post-travail, 37, "1h41'53"
26/10/2018, Agent 1028, Pause, 5, "0h19'58"
26/10/2018, Agent 1028, Pause, 3, "0h02'33"
26/10/2018, Agent 1028, Personnelle, 1, "0h12'07"
26/10/2018, Agent 1028, Sortant, 1, "0h05'18"
26/10/2018, Agent 1042, Attente, 45, "0h27'57"
26/10/2018, Agent 1042, Sonnerie, 2, "0h00'18"
26/10/2018, Agent 1042, Traitement, 55, "3h18'54"
26/10/2018, Agent 1042, Appel entrant, 46, "2h44'14"
26/10/2018, Agent 1042, En attente, 8, "0h20'17"
26/10/2018, Agent 1042, Rappel, 9, "0h34'40"
26/10/2018, Agent 1042, Post-travail, 55, "2h46'50"
26/10/2018, Agent 1042, Pause, 4, "0h20'52"
26/10/2018, Agent 1042, Pause, 2, "0h00'29"
26/10/2018, Agent 1042, Personnelle, 2, "0h20'23"
];
left Join(data)
LOAD
Max(Nombre) as Nombre,
1 as FLG_MAX,
Date,
Nom,
Type
Resident data
Where
Type = 'Pause'
Group by
Date,
Nom,
Type
;
NoConcatenate
LOAD
if(FLG_MAX = 1 , 'HorsProd', Type) as Type,
Date,
Nom,
Nombre,
Durée
Resident data
;
DROP Table data;
bonjour Aurélien
Parfait çà marche
Merci beaucoup