web-dev-qa-db-fra.com

Comment faire la somme des totaux du groupe seulement?

J'essaie de résumer uniquement les totaux du groupe HourTarget. 

          7:00     8:00    HourTarget    
Line 1    2715     1008      3224
  A       2307     1008      3224 
  B       408        0       3224
Line 2    2308     2432      2656
  A       2308     2432      2656
Line 3    2318     1622      2800
  A       345      1258      2800
  B       762        0       2800
  C       1211     364       2800

J'essaie d'atteindre 8680 à la suite de la somme de HourTarget. Mais je reçois 17504. C'est parce que HourTarget dans une table de base de données est un enregistrement pour chaque produit exécuté sur cette ligne, mais la cible est liée à la ligne et non au produit. Comment puis-je additionner seulement le total du groupe? 

Quelque chose comme ça ne marche pas:

=Sum(Max(Fields!HourTarget.Value))
9
Whistler

Étant donné que vous utilisez SSRS 2008R2, vous pouvez utiliser l'ensemble des fonctionnalités d'agrégat ajoutées à cette version.

Vous étiez sur la bonne voie. il vous suffit d'ajouter une valeur Scope à votre expression.

J'utilise une version de vos données et j'ai construit un tableau simple:

enter image description here

enter image description here

Notez que j'ai créé un groupe appelé Line.

Pour obtenir la Sum de la colonne MaxHourTarget, utilisez l'expression:

=Sum(Max(Fields!HourTarget.Value,  "Line"))

Ceci établit la Max pour chaque groupe Line, puis prend la Sum de ceux-ci.

Maintenant, nous avons votre valeur requise:

enter image description here

Avant SSRS 2008R2, il n’existait pas de moyen facile de le faire; généralement, on ajouterait une colonne supplémentaire au DataSet avec la valeur pré-agrégée à afficher dans le rapport.

18
Ian Preston

( Sum(CDbl(Fields!Field_1.Value)) fonctionne.

 Image

0
Ayomi Nisansala