Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports > Formules
Formules Forum sur l'utilisation des formules sous Crystal reports
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/05/2007, 12h18   #1
Invité de passage
 
Inscription : avril 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 12
Points : 2
Points : 2
Par défaut [XI] "moyenne d'un champ formule"

Bonjour,

Je debute en CRXI et j'ai un probleme de calcul d'une moyenne d'un calcul champ de formule. Lorsque j'essai simplement "average(formule_champ)", Crystal me renvoit l'erreur "field cannot be summurized".

le formule_champ "SCORE_DECIDER" correspond a l'affichage d'un score:
Citation:
WhilePrintingRecords;
global NumberVar SCORE_DECIDER := 0;

if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="1 Disagree") then (SCORE_DECIDER:=1; )
else if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="2") then (SCORE_DECIDER:=2; )
else if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="3") then (SCORE_DECIDER:=3; )
else if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="4 Neutral") then (SCORE_DECIDER:=4; )
else if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="5") then (SCORE_DECIDER:=5; )
else if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="6") then (SCORE_DECIDER:=6; )
else if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="7 Agree") then (SCORE_DECIDER:=7; )
De nombreuses interactions et leurs scores sont affiches, je souhaitais donc calculer la moyenne de ces scores.

Est-ce que cela est possible? Quelqu'un a t il une idee?

Merci beaucoup par avance.
Creess est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 15h37   #2
Futur Membre du Club
 
Inscription : mai 2007
Messages : 20
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2007
Messages : 20
Points : 16
Points : 16
Tu peux utiliser un champ de type Running Total Fields pour faire la moyenne de ton champ formule
jouberts est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 16h26   #3
Invité de passage
 
Inscription : avril 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 12
Points : 2
Points : 2
Merci Jouberts pour l'indication. J'ai trouve comment faire un "Running Total Fields" d'un champs d'une table mais pas d'une formule de champs (=formule_champ) !

En fait, je souhaitais faire ce calcul ds un group-footer afin d'afficher un cacul par section d'interaction.

Mon design ressemble a ca:
Citation:
--section header----------
empty
--interaction header-------
Reponse: [interaction_reponse] Score: [@score_decider]
--interaction footer-------
empty
--section footer-----------
Moyenne Section: [@average_decider]
et "@average_decider" serait egal a "Average ({@SCORE_DECIDER})"

En Preview, ca donnerait par exemple:

Citation:
--section 1----------
--interaction header-------
Reponse: 1 Disagree Score: 1
Reponse: 4 Neutral Score: 4
Reponse: 7 Agree Score: 7
--interaction footer-------
--section footer-----------
Moyenne Section1: 4

--section 2----------
--interaction header-------
Reponse: 2 Score: 2
Reponse: 4 Neutral Score: 4
Reponse: 6 Score: 6
--interaction footer-------
--section footer-----------
Moyenne Section2: 4
Une idee?

Merci encore.
Creess est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 17h09   #4
Futur Membre du Club
 
Inscription : mai 2007
Messages : 20
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2007
Messages : 20
Points : 16
Points : 16
je récapitule
- {@SCORE_DECIDER} est un champ formule dans lequel se trouve la formule décrite dans ton premier post. Cette formule renvoie un nombre (le score)
- Dans le pied de page, tu veux la moyenne de cette formule.

pour simplifier le {@SCORE_DECIDER} je le ferai de la manière suivante (à moins que tu te serve de la variable SCORE_DECIDER ailleurs) :

if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="1 Disagree") then 1
else if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="2") then 2
else if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="3") then 3
else if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="4 Neutral") then 4
else if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="5") then 5
else if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="6") then 6
else if ({CNV_PUB_INTERACTION_RESP.RESPONSES}="7 Agree") then 7

c'est le WhilePrintingRecords; qui empeche le average.

puis avec un autre champ formule, tu fais la moyenne
average({@SCORE_DECIDER})
jouberts est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 18h01   #5
Invité de passage
 
Inscription : avril 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 12
Points : 2
Points : 2
Merci pour tout, ca marche !!

Une derniere question:
Lorsque je met le champ formule "average({@SCORE_DECIDER})" dans le group-footer de section, j'obtiens la moyenne generale de ts les scores et non celle par section (le meme resultat est affiche a la fin de chaque section).

J'ai essaye de creer un "Running Total Fields" pour le calcul de cet average en faisant un "reset on change of group 'section' ". Mais ca ne me donne pas de resultat...

Merci encore...
Creess est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 11h47   #6
Futur Membre du Club
 
Inscription : mai 2007
Messages : 20
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2007
Messages : 20
Points : 16
Points : 16
si tu travaille par Groupe, il faut que les calcul du ({@SCORE_DECIDER} soit dans la partie details.
Ensuite tu mets le average dans le groupe footer.
Il n'y a pas de raisons que cela ne fontionne pas
jouberts est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h33.


 
 
 
 
Partenaires

Hébergement Web