Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
je veux faire la somme de cette expression par mois et par annee:
if(ANNEE= year(MIN_DAT) and MOIS= month(MIN_DAT),count(DISTINCT(MIN_DAT))),ANNEE,MOIS
mon expression me donne un résultat correct si je selectionne une personne.
je veux alors avoir le nombre des personnes qui répond à ma condition par année et par mois.
J'ai utilisé deux aggr mais ça ne fonctionne pas.
sum(aggr(aggr(if(ANNEE= year(MIN_DAT) and MOIS= month(MIN_DAT),count(DISTINCT(MIN_DAT))),ANNEE,MOIS),ANNEE,MOIS)).
Merci pour vos aides.
May be try this
Sum(Aggr(If(ANNEE = Year(MIN_DAT) and MOIS = Month(MIN_DAT), Count(DISTINCT MIN_DAT)), ANNEE, MOIS, personne))
it also return people who don't meet in my condition
i need to count the number of MIN_DAT per year and per month
How about this
Sum(Aggr(If(ANNEE = Min(TOTAL <personne> ANNEE) and MOIS = Min(TOTAL <personne> MOIS), Count(DISTINCT MIN_DAT)), ANNEE, MOIS, personne))
it has a selection problem if i dont select year it's okey but when i select year i dont have the same result.
The first table : i show all years
The second table : when i selected year= 2013.
Thanks
1) Peux-tu expliquer la logique et le but de ton expression (je ne suis pas certain de bien comprendre):
if(ANNEE= year(MIN_DAT) and MOIS= month(MIN_DAT),count(DISTINCT(MIN_DAT)))
2) Dans ton schéma de données, quel est le lien entre ANNEE, MOIS et MIN_DAT ? Une copie d'écran serait bien venue.
3) O?u utilises-tu cette expression ? Une copie d'écran serait bien venue.
Bonjour Sébastien,
J'ai besoin de calculer le nombre des agents entrées et sorties dans la société en prenant en considération que un agent a plusieurs dates de début et fin occupation. Donc j'ai ajouté à mon script la table min_max qui me donne la date minimale et maximale par agent quand j'ai mis mon expression dans un tableau avec dimension année et mois
et je sélectionne un agent j'aurai l'année de sa première début occupation. mais quand je désélectionne pour voir le nombre pour tout le monde j'ai aucun résultat.
J'ai essayé l'expression de Sunny en ajoutant MIN_DATE à l'agregation :
Sum(Aggr(If(ANNEE = Min(TOTAL <personne> ANNEE) and MOIS = Min(TOTAL <personne> MOIS), Count(DISTINCT MIN_DAT)), ANNEE, MOIS, personne,MIN_date))
ca fonctionne si j'ai aucun sélection mais quand je sélectionne une année elle m'augmente les valeurs.
Merci
J'ai un peu de peine à comprendre les champs MOIS et ANNEE dans la table centrale. Que représentent-ils ?
J'ai utilisé des champs qui sont dans ma table centrale D_ à mon calendrier ce qui fait j'ai eu une synchronisation ce qui m'a obligé de faire join au calendrier avec ma table D_
Calendrier:
left join( D_)
LOAD MATRICULE_AGENT,
MOTIF,
TEMPS_TRAVAIL,
Mois_temp as MOIS,
Annee_temp as ANNEE,
Premier_jour_mois as PREMIER_JOUR_MOIS,
Dernier_jour_mois as DERNIER_JOUR_MOIS,
date_deb_temp as DATE_DEB,
date_fin_temp as DATE_FIN,
if(MOTIF = 'CONGES', 0, Nombre_de_jours) as NOMBRE_JOURS_TRAVAILLES
RESIDENT CALENDRIER_MOIS_temp2;
Drop table CALENDRIER_MOIS_temp2,TRANSFERT;