7 Replies Latest reply: Feb 5, 2018 9:02 AM by Chadlia Gabsi RSS

    La moyenne dans un TCD

    Chadlia Gabsi

      Bonjour,

      J'ai un tableau dynamique croisé et je veux calculer la somme de chaque mois et en bout du tableau la moyenne sur 12 mois.

      Comment pourrai je créer mes expressions dans les totaux ou y a t'il une façon à le faire.

      Merci.

       

      test.png

        • Re: La moyenne dans un TCD
          Anne Kerdoncuff

          Bonjour,

           

          Essaye quelque chose comme cela :

          if(columnno()<>0,sum(Valeur),avg(Valeur))

           

          Sur les sous-totaux de ligne tu auras une somme. Pour le total des colonnes en bout tu auras la moyenne

            • Re: La moyenne dans un TCD
              Chadlia Gabsi

              Bonjour,

              Tu veux dire j'ajoute une nouvelle expression car quand j'ai ajouté une nouvelle expression, elle m'a donnée un résultat par mois et je veux obtenir juste sum par direction et  moyenne annuelle à la fin.

                • Re: La moyenne dans un TCD
                  Anne Kerdoncuff

                  Non, ce n'est pas une nouvelle expression, tu remplaces ton expression actuelle par celle que je propose.

                    • Re: La moyenne dans un TCD
                      Chadlia Gabsi

                      J'ai essayé la formule ci-dessous et toujours le meme résultat.

                      Question: Est ce que je dois garder les totaux crées?

                      Je l'ai testé en garandant les totaux.

                      if(columnno()<>0,sum( if(SecondaryDimensionality() > 1,aggr(

                      if(MOTIF<>'Congé parental' and TEMPS_TRAVAIL<> 0

                      ,sum(DISTINCT(TEMPS_TRAVAIL/100)))

                      ,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL,),

                      aggr(if(MOTIF<>'Congé parental'and TEMPS_TRAVAIL<> 0 ,

                      avg(DISTINCT(TEMPS_TRAVAIL/100)))

                      ,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL)) ),

                      avg(if(SecondaryDimensionality() > 1,

                      aggr(if(MOTIF<>'Congé parental' and TEMPS_TRAVAIL<> 0

                      ,sum(DISTINCT(TEMPS_TRAVAIL/100)))

                      ,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL,),

                      aggr(if(MOTIF<>'Congé parental'and TEMPS_TRAVAIL<> 0 ,

                      avg(DISTINCT(TEMPS_TRAVAIL/100)))

                      ,MOIS,MATRICULE_AGENT,MOTIF,ANNEE,TEMPS_TRAVAIL)) ) )

                • Re: La moyenne dans un TCD
                  Sébastien Fatoux

                  Bonjour,

                   

                  J'ai illustré ci-dessous les valeurs retournées par les fonctions ColumnNo(), Dimensionality() et SecondaryDimentionality()

                   

                  Dans ton cas, on voit bien que c'est les cellule qui ont SecondaryDimensionality = 1 qui nous intéresse. Pour ces cellules, on va calculer la moyenne annuelle des mois et simplement la somme pour les autres :

                   

                  If( SecondaryDimensionality() = 1,
                     
                  Sum(Value)/Count(DISTINCT Mois), 
                     
                  Sum(Value
                  )
                  )

                   

                  community_1427660.png

                   

                  J'ai joint l'appli si tu veux faire des test de ton côté

                    • Re: La moyenne dans un TCD
                      Chadlia Gabsi

                      Je te remercie infiniment ça fonctionne nickel ! Juste pour avoir la moyenne de 12 mois j'ai changé

                      count (distinct(mois)) par 12.

                        • Re: La moyenne dans un TCD
                          Chadlia Gabsi

                          Bonjour Sébastien,

                          je reviens vers toi car je suis coincé,

                          dans mon calcul ETPT ça fonctionne bien mais ETP ne me donne pas le résultat désiré, parce que pour ETPT j'ai utilisé le nombre des jours travaillés par mois et par direction. Pour l'ETP si une personne a changé sa direction au milieu du mois un nouveau motif va être créer. donc pour calculer l'ETP par mois il me faut la moyenne par mois et par direction( par ligne et par colonne) . Mon expression utilisée donne la moyenne par direction cumulé( tableau 1).

                          D'Après moi elle donne pour la première ligne 0.47(tableau .1) car  quand j'ai testé et ajouté le motif (tableau 2) la somme pour novembre est devenu 1.6 vu que l'agent a travaillé dans deux directions différentes dans un seul moi. Quand je supprime le motif (tableau 1 normalement j'ai 0.4 pour direction 1 et 0.4 pour direction 2 hors que ce n'est pas le cas. j'ai pu calculé la moyenne en colonne mais les lignes toujours pas.

                          Expression :

                          If( SecondaryDimensionality()> 1,  avg(if(MOTIF<>'Congé parental',TEMPS_TRAVAIL/100 )) ,

                          sum(if(MOTIF<>'Congé parental',TEMPS_TRAVAIL/100 ))/12) 

                          J'ai essayé de faire un regroupement par moi ca ma donner 0.8 pour chaque direction.

                          If( SecondaryDimensionality()> 1,  avg(if(MOTIF<>'Congé parental',TEMPS_TRAVAIL/100 )) ,

                          avg(aggr(if(MOTIF<>'Congé parental',TEMPS_TRAVAIL/100 ),MOIS))

                          Merci pour ton aide.

                          test.png