Qlik Community

Groupe des Utilisateurs Francophones

Vous êtes francophone? Ce groupe est pour vous. Venez découvrir comment démarrer avec Qlik Sense et QlikView, poser vos questions et partager vos tutos et astuces avec les membres de notre communauté.

Highlighted
chadliagabsi
Contributor II

Avg Month in dynamic cross table

Bonjour,

j'ai le tableau suivant

test.png

ou je veux calculer l'ETPT par matricule. J'ai reçu à faire deux tableaux mensuel et annuel mais  j'ai voulu les grouper dans un meme TCD . Pour le TCD, j'ai utilisé l'expression suivante:

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

Le resultat est le suivant  :

test.png

et quand je réduit au niveau de l'année j'ai bien la moyenne des 12 Mois.

Cette expression fonctionne que si j'ai un motif par mois dans mon tableau c'est à dire si j'ai deux motifs par mois il me donne la moyenne hors que si j'aurai deux mois et plus il me faut la somme des 3 et non pas la moyenne

J'ai modifier l'expression comme suit mais elle  ne fonctionne pas  :

if(MOIS=$(=max(MOIS-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.

Tags (1)
1 Solution

Accepted Solutions
sfatoux72
Valued Contributor

Re: Avg Month in dynamic cross table

Oups, j'avais pas fait gaffe qu'il y avait 2 dimensions en colonne.

Essaye ceci :

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

3 Replies
sfatoux72
Valued Contributor

Re: Avg Month in dynamic cross table

Essaye ceci :

if(SecondaryDimensionality() > 0, 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
Contributor II

Re: Avg Month in dynamic cross table

Sébastien,

Je l'ai essayé et ça marche au niveau mensuel mais elle m'a ignoré le cumul annuel je l'ai plus la moyenne annuelle.

Merci.

sfatoux72
Valued Contributor

Re: Avg Month in dynamic cross table

Oups, j'avais pas fait gaffe qu'il y avait 2 dimensions en colonne.

Essaye ceci :

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