2 Replies Latest reply: Jan 5, 2018 3:31 AM by Chadlia Gabsi RSS

    Nombre d'occupation Réel et prévisionnel

    Chadlia Gabsi

      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.

        • Re: Nombre d'occupation Réel et prévisionnel
          Sébastien Fatoux

          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))))

            • Re: Nombre d'occupation Réel et prévisionnel
              Chadlia Gabsi

              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)))