Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Je dois calculer mon taux de disponibilité en catégorie A et/ou B par réparateur sur une date/période donnée.
(En prenant la dernière date d'enregistrement)
J'ai plusieurs possibilités mentionnées en PJ.
En fonction des valeurs renseignées pour chaque catégorie (A et B), je dois compter uniquement les réparateurs qui ont les valeurs renseignées par "oui" dans mon tableau en PJ.
Ci-dessous, ma table sur laquelle je m'appuie.
[mycaps_disponibilite]:
LOAD
[Id_MyCaps_Disponibilite],
[Id_Garage] AS [Id_Garage-NUM_MF],
[Date_Planning] as Date_Calendar_Date_Planning,
[Date_Planning],
if((Date_Planning - today(0))>=7,'Semaine 2',
if((Date_Planning - today(0))>=0,'Semaine 1','Passé')) as Semaine_Planning,
[Disponibilite_Atelier],
if((Disponibilite_Atelier)>0, '', 'KO') as Disponibilite_Atelier_Groupe,
[Disponibilite_Cat_A],
if(([Disponibilite_Cat_A])=0,'Non-Renseigne',
if(([Disponibilite_Cat_A])=1,'Disponible',
if(([Disponibilite_Cat_A])=2,'Indisponible')))as Dispo_Cat_A,
[Disponibilite_Cat_B],
[Disponibilite_Cat_C],
[Disponibilite_Cat_D],
[Disponibilite_Cat_E],
[Disponibilite_Cat_F],
[Disponibilite_Cat_VU],
[Date_Creation],
[Cree_Par] AS [mycaps_disponibilite.Cree_Par];
SQL SELECT `Id_MyCaps_Disponibilite`,
`Id_Garage`,
`Date_Planning`,
`Disponibilite_Atelier`,
`Disponibilite_Cat_A`,
`Disponibilite_Cat_B`,
`Disponibilite_Cat_C`,
`Disponibilite_Cat_D`,
`Disponibilite_Cat_E`,
`Disponibilite_Cat_F`,
`Disponibilite_Cat_VU`,
`Date_Creation`,
`Cree_Par`
FROM `capsnaff`.`mycaps_disponibilite`;
Left join(mycaps_disponibilite)
MaxDateDispo:
LOAD
[Id_Garage-NUM_MF],
Date_Planning,
Max([Date_Creation]) as Date_Creation,
'OUI' as IsLastValue
Resident mycaps_disponibilite
group by [Id_Garage-NUM_MF], Date_Planning;
Auriez-vous une idée d'une méthode sur comment gérer ce point et réaliser ma formule de calcul ?
En pj, exemple.
Merci beaucoup,
Stéphanie
Bonjour,
Pour ceux que cela intéresse, j'ai résolu mon problème avec ceci :
Dispo_Cat_A_B :
LOAD [Id_Garage-NUM_MF],
[Date_Planning],
[Date_Creation],
sum(if([Disponibilite_Cat_A]=1, ([Disponibilite_Cat_A]) + ([Disponibilite_Cat_B]), ' ')) as Disponibilite_A1,
sum(if([Disponibilite_Cat_B]=1, ([Disponibilite_Cat_A]) + ([Disponibilite_Cat_B]), ' ')) as Disponibilite_B1,
sum(if([Disponibilite_Cat_C]=1 or [Disponibilite_Cat_D]=1 or [Disponibilite_Cat_E]=1 or [Disponibilite_Cat_F]=1,
([Disponibilite_Cat_C]) + ([Disponibilite_Cat_D])+([Disponibilite_Cat_E]) + ([Disponibilite_Cat_F]), ' ')) as Disponibilite_C1_D1_E1_F1,
sum(if([Disponibilite_Cat_A]=1 or [Disponibilite_Cat_B]=1 or [Disponibilite_Cat_C]=1 or [Disponibilite_Cat_D]=1 or [Disponibilite_Cat_E]=1 or [Disponibilite_Cat_F]=1,
([Disponibilite_Cat_A]) + ([Disponibilite_Cat_B]) + ([Disponibilite_Cat_C]) + ([Disponibilite_Cat_D])+([Disponibilite_Cat_E]) + ([Disponibilite_Cat_F]), ' ')) as Disponibilite_Total_VDR1
Resident mycaps_disponibilite
Group By [Id_Garage-NUM_MF], [Date_Planning], [Date_Creation];
Bonjour,
Pour ceux que cela intéresse, j'ai résolu mon problème avec ceci :
Dispo_Cat_A_B :
LOAD [Id_Garage-NUM_MF],
[Date_Planning],
[Date_Creation],
sum(if([Disponibilite_Cat_A]=1, ([Disponibilite_Cat_A]) + ([Disponibilite_Cat_B]), ' ')) as Disponibilite_A1,
sum(if([Disponibilite_Cat_B]=1, ([Disponibilite_Cat_A]) + ([Disponibilite_Cat_B]), ' ')) as Disponibilite_B1,
sum(if([Disponibilite_Cat_C]=1 or [Disponibilite_Cat_D]=1 or [Disponibilite_Cat_E]=1 or [Disponibilite_Cat_F]=1,
([Disponibilite_Cat_C]) + ([Disponibilite_Cat_D])+([Disponibilite_Cat_E]) + ([Disponibilite_Cat_F]), ' ')) as Disponibilite_C1_D1_E1_F1,
sum(if([Disponibilite_Cat_A]=1 or [Disponibilite_Cat_B]=1 or [Disponibilite_Cat_C]=1 or [Disponibilite_Cat_D]=1 or [Disponibilite_Cat_E]=1 or [Disponibilite_Cat_F]=1,
([Disponibilite_Cat_A]) + ([Disponibilite_Cat_B]) + ([Disponibilite_Cat_C]) + ([Disponibilite_Cat_D])+([Disponibilite_Cat_E]) + ([Disponibilite_Cat_F]), ' ')) as Disponibilite_Total_VDR1
Resident mycaps_disponibilite
Group By [Id_Garage-NUM_MF], [Date_Planning], [Date_Creation];