2014-02-10 8 views
7

Ich versuche, nur die Summe der HourTarget-Summen zu addieren.Wie summiere ich nur die Summen der Gruppe?

  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 

Ich versuche, 8680 als Ergebnis der Summe von HourTarget zu erreichen. Aber ich bekomme 17504. Das liegt daran, dass HourTarget in einer Datenbanktabelle für jedes einzelne Produkt in dieser Zeile aufgezeichnet ist, das Ziel jedoch mit der Zeile und nicht mit dem Produkt verknüpft ist. Wie kann ich nur die Gesamtsumme addieren?

So etwas funktioniert nicht:

=Sum(Max(Fields!HourTarget.Value)) 
+0

Ist dies speziell SSRS 2008 und nicht 2008R2? –

+0

es ist 2008R2, sorry für verwirrend – Whistler

Antwort

14

Da Sie auf SSRS 2008R2 sind, können Sie das Aggregat von Aggregatfunktionen verwenden können, die in dieser Version hinzugefügt wurde.

Sie waren auf dem richtigen Weg; Sie müssen nur einen Scope Wert zu Ihrem Ausdruck hinzufügen.

ich eine Version Ihrer Daten bin mit und haben ein einfaches tablix konstruiert:

enter image description here

enter image description here

Bitte beachte, dass ich eine Gruppe Linie genannt erstellt.

Um die Sum der MaxHourTarget Spalte, verwenden Sie den Ausdruck erhalten:

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

Diese die Max für jede Gruppe Linie klappt, nimmt dann die Sum davon.

Jetzt haben wir Ihren gewünschten Wert:

enter image description here

Vor SSRS 2008R2 gibt es keine einfache Möglichkeit, dies zu tun; In der Regel wird dem DataSet eine zusätzliche Spalte mit dem voraggregierten Wert hinzugefügt, der im Bericht angezeigt werden soll.

+0

Es funktioniert sehr gut, danke. Wie würde ich die Summe von HourTarget für die bedingte Formatierung verwenden? Wenn insgesamt 7:00 größer oder gleich ist Summe von HourTarget ist grün, sonst rot. Ich habe das versucht, aber ich bekomme Fehler, dass es nicht in der Gruppe ist. = IIF (Summe (Felder! HourCount.Value)> = Summe (Max (Felder! HourTarget.Value, "LineID")), "LimeGreen", "Rot") – Whistler

+0

Ok, ich finde es heraus. Wenn jemand es braucht, habe ich verwendet: ReportItems! [Name des Textfelds] .Wert – Whistler

+0

Cool, gab nur eine Antwort ein. Auf der Tabellenkopfebene sollte Ihr erster Ansatz OK sein (und schien in einem schnellen Test für mich OK zu sein), aber Ihr ist auch ein guter Weg, besonders wenn es für Sie funktioniert! –

Verwandte Themen