Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
chadliagabsi
Creator II
Creator II

Nombre d'occupation Réel et prévisionnel

Bonjour ,

je dois  calculer le nombre des jours réels  et prévisionnels

Pour le prévisionnel j'ai utilisé l'expression suivante et ça fonctionne bien

if(SecondaryDimensionality() > 1, sum(aggr(if(MOTIF<>'Congé parental',(count(distinct(DATE_DEB_FIN))/30)*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL)),

avg(aggr(if(MOTIF<>'Congé parental',(count(distinct(DATE_DEB_FIN))/30)*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL)))

Pour le réel,  je doit soustraire de mon expression les jours qui sont entre Fin du mois courant (31/01/2018 )et Fin d'occupation(08/11/2018) pour les agents qui ont une fin d'occupation définie c'est à dire je veux avoir un résultat sur le mois encours . J'ai utilisé l'expression ci-dessous il me retourne un résultat négatif pour les mois qui sont supérieur à janvier/

if( max(DATE_DEB_FIN)>Date(Monthend(Date(today())),'DD/MM/YYYY')

,

//FINoccupation not null

if(SecondaryDimensionality() > 1, sum(aggr(if(MOTIF<>'Congé parental',count(distinct(DATE_DEB_FIN))

-num(FIN_OCCUPATION-Date(Monthend(Date(today())),'DD/MM/YYYY'),'###')/30*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL))

,

avg(aggr(if(MOTIF<>'Congé parental',count(distinct(DATE_DEB_FIN))

-num(FIN_OCCUPATION-Date(Monthend(Date(today())),'DD/MM/YYYY'),'###')/30*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL)))

,

///FIN occupation null

if(SecondaryDimensionality() > 1, sum(aggr(if(MOTIF<>'Congé parental',(count(distinct(DATE_DEB_FIN))/30)*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL)),

avg(aggr(if(MOTIF<>'Congé parental',(count(distinct(DATE_DEB_FIN))/30)*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL))))

Merci.

1 Solution

Accepted Solutions
chadliagabsi
Creator II
Creator II
Author

Bonjour Sébastien,

ton expression me donne le même résultat que la mienne par contre j'ai pu résoudre mon problème comme suit :


if(SecondaryDimensionality() > 1 , sum(aggr(if(MOTIF<>'Congé parental' and max(DATE_DEB_FIN)<Date(Monthend(Date(today())),'DD/MM/YYYY'),

(count(distinct(DATE_DEB_FIN))/30)*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL)),

avg(aggr(if(MOTIF<>'Congé parental' and max(DATE_DEB_FIN)<Date(Monthend(Date(today())),'DD/MM/YYYY'),

(count(distinct(DATE_DEB_FIN))/30)*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL)))

View solution in original post

2 Replies
sfatoux72
Partner - Specialist
Partner - Specialist

Si j'ai bien compris, tu veux faire A-(B-C)

Si tu enlève les parent tu auras A-B+C et non pas A-B-C

Ton expression devrait alors être :

if( max(DATE_DEB_FIN)>Date(Monthend(Date(today())),'DD/MM/YYYY')

,

//FINoccupation not null

if(SecondaryDimensionality() > 1, sum(aggr(if(MOTIF<>'Congé parental',count(distinct(DATE_DEB_FIN))

-num(FIN_OCCUPATION + Date(Monthend(Date(today())),'DD/MM/YYYY'),'###')/30*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL))

,

avg(aggr(if(MOTIF<>'Congé parental',count(distinct(DATE_DEB_FIN))

-num(FIN_OCCUPATION + Date(Monthend(Date(today())),'DD/MM/YYYY'),'###')/30*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL)))

,

///FIN occupation null

if(SecondaryDimensionality() > 1, sum(aggr(if(MOTIF<>'Congé parental',(count(distinct(DATE_DEB_FIN))/30)*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL)),

avg(aggr(if(MOTIF<>'Congé parental',(count(distinct(DATE_DEB_FIN))/30)*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL))))

chadliagabsi
Creator II
Creator II
Author

Bonjour Sébastien,

ton expression me donne le même résultat que la mienne par contre j'ai pu résoudre mon problème comme suit :


if(SecondaryDimensionality() > 1 , sum(aggr(if(MOTIF<>'Congé parental' and max(DATE_DEB_FIN)<Date(Monthend(Date(today())),'DD/MM/YYYY'),

(count(distinct(DATE_DEB_FIN))/30)*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL)),

avg(aggr(if(MOTIF<>'Congé parental' and max(DATE_DEB_FIN)<Date(Monthend(Date(today())),'DD/MM/YYYY'),

(count(distinct(DATE_DEB_FIN))/30)*TEMPS_TRAVAIL)/100,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL)))