web-dev-qa-db-fra.com

Comment calculer la somme d'un champ de formule dans les Crystal Reports?

Dans certains codes hérités, les en-têtes/pieds de groupe comportent des éléments tels que 'Sum of @numcount '. Je ne peux pas obtenir la somme d'un champ de formule. Des pensées?

5
schar

La seule raison pour laquelle je sais pourquoi une formule ne serait pas disponible pour la synthèse est si elle ne faisait pas référence à des champs de base de données ou si sa valeur n'était pas dynamique dans les différentes sections du rapport. Par exemple, si vous avez une formule qui renvoie une constante, elle ne sera pas disponible. Ou bien, s'il ne fait référence qu'à un champ défini dans le rapport et renvoie une valeur basée sur ce champ, tel que "si {paramètre} = 1, 1" ne serait pas disponible non plus.

En général, la valeur de la formule ne doit pas être statique dans les sections du rapport que vous résumez (bien que la façon dont Crystal le détermine, cela me dépasse et que cela ne semble pas être une règle absolue)

EDIT: Une autre raison pour laquelle une formule ne serait pas disponible est si vous utilisez déjà une fonction de résumé dans cette formule. Un seul niveau de résumés à la fois!

7
Ryan

(En supposant que vous consultiez les rapports dans Crystal Report Designer ...)

Vos options de menu peuvent être un peu différentes selon la version de Crystal Reports que vous utilisez, mais vous pouvez soit:

  • Créez un champ récapitulatif: Cliquez avec le bouton droit de la souris sur le champ de formule souhaité dans votre section Détails et choisissez "Insérer un récapitulatif". Choisissez "somme" dans la liste déroulante et vérifiez que le bon regroupement de comptes est sélectionné, puis cliquez sur OK. Vous aurez alors un simple champ somme dans la section de pied de groupe.
  • Créez un champ de total cumulé: Cliquez sur le menu "Insertion" et choisissez "Champ cumulé en cours ..." *** Cliquez sur le bouton Nouveau et donnez un nom à votre nouveau champ de cumul. Choisissez votre champ de formule sous "Champ à résumer" et choisissez "somme" sous "Type de résumé". Ici, vous pouvez également changer quand le total est évalué et réinitialisé, laissez ces valeurs par défaut si vous voulez une somme sur chaque enregistrement. Vous pouvez également utiliser une formule pour déterminer quand un certain champ doit être compté dans le total. (Évaluer: utiliser la formule)
5
Heather M

Vous pouvez simplement faire un clic droit sur les champs de formule-> nouveau Donnez-lui un nom comme TotalCount puis Right ce code:

if(isnull(sum(count({YOURCOLUMN})))) then
0
else
(sum(count({YOURCOLUMN})))

et Enregistrer, puis faites glisser/déposer TotalCount ce champ dans l’en-tête/le pied de page. Après avoir ouvert la parenthèse "count", vous pouvez y déposer votre colonne de la section ci-dessus. Voir l'exemple dans l'image  enter image description here

1
Shoshotto