2011-01-18 2 views
1

Mes excuses si cela a déjà été répondu; il a probablement, mais je ne l'ai pas trouvé dans plus d'une heure de recherche Google et SO.Crystal Reports 2008 - Résumé du champ de formule non-additive

J'ai un champ de formule non additif (Cost/Qty). Il fonctionne correctement sur les lignes de détail, mais lorsque je l'ajoute à mes pieds de groupe, il renvoie les valeurs de la dernière ligne de détail plutôt qu'un calcul au niveau du groupe. Que dois-je faire pour évaluer la formule sur toutes les lignes d'un groupe? Je suis surpris que ce n'est pas le comportement par défaut lors de l'ajout d'un champ à un en-tête ou un pied de groupe.

Voici ce que je reçois:

Category Cost Qty Avg Cost 
Detail A-1 $100 1 $ 100 
Detail A-2 $200 3 $ 67 
Footer A $300 4 $ 67 

Je me attends à un coût moyen de 75 $ dans le pied de page: 300/$ 4. Si je un agrégat j'obtenir une valeur incorrecte (par exemple, 167 $ pour la somme, 83 $ pour moy). Dans Cognos, j'utiliserais "Expression" comme formule d'agrégation.

Peut-être un utilisateur CR expérimenté s'il vous plaît dites-moi ce que je dois faire?

+0

Pour votre information, si je change ma formule pour « Somme (coût)/Somme (Qté) ", il résume tous les * enregistrements *, donc j'obtiens la moyenne générale sur chaque ligne, à la fois détail et résumé. –

+0

+ 1 pour plus de clarté et en essayant de trouver la réponse par vous-même :) – PowerUser

Répondre

2

Vous devez créer un nouveau champ de formule uniquement pour le bas de page du rapport.

Donc, si votre formule de détail est comme ceci:

{Test.Cost}/{Test.Qty}

Ensuite, vous devez créer une nouvelle formule qui suit:

Sum ({Test.Cost})/Sum ({Test.Qty})

et le placer dans le pied de page Rapport. Cela ramènera la moyenne correcte (300/4 = 75)

EDIT:

Si vous voulez faire un pied de groupe un principe similaire applicable. Vous devez créer un nouveau champ de formule et l'ajouter au pied de groupe.

Si vous regroupez par le champ Category par exemple, votre formule pour calculer la moyenne par rapport au groupe ressemblerait à ceci:

Sum ({Test.Cost}, {Test.Category})/Sum ({Test.Qty}, {Test.Category})

+0

Bien sûr, vous devez spécifier la condition de regroupement dans l'expression Sum ( [, ]), sinon elle résume tout le rapport. Consultez l'aide de CR pour les détails et la syntaxe :) – Arvo

+0

@Arvo - J'ai mis à jour ma réponse. Je n'ai aucun exemple fourni pour ajouter la formule à la fois au pied de page de rapport et au pied de page de groupe. J'avais déjà cité Group Footer alors qu'en réalité c'était le pied de page du rapport. Merci – codingbadger

+0

Je suis d'accord avec votre réponse éditée. J'étais sur le point de dire la même chose. – PowerUser

Questions connexes