
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
La moyenne dans un TCD
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.
- Tags:
- Group_Discussions
Accepted Solutions


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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)
)
J'ai joint l'appli si tu veux faire des test de ton côté

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Non, ce n'est pas une nouvelle expression, tu remplaces ton expression actuelle par celle que je propose.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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)) ) )


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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)
)
J'ai joint l'appli si tu veux faire des test de ton côté

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Je te remercie infiniment ça fonctionne nickel ! Juste pour avoir la moyenne de 12 mois j'ai changé
count (distinct(mois)) par 12.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
