Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
stephaniee
Creator
Creator

Taux de disponibilité avec condition

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

1 Solution

Accepted Solutions
stephaniee
Creator
Creator
Author

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];

 

View solution in original post

1 Reply
stephaniee
Creator
Creator
Author

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];