2014-11-18 22 views
7

Mam raport SSRS, który wygląda tak (z dodatkowymi kolumnami, takimi jak sprzedaż) z wierszami pogrupowanymi według regionu i lokalizacji.SSRS suma max według grupy

SSRS report

Celem dla lokalizacji jest max dla każdej lokalizacji, jak w mojej kwerendy w każdym rekordzie sprzedaży, że jestem podsumowującej pojawi się cel.

=Max(Fields!goal.Value) 

Celem dla regionów jest suma maksimum dla każdej lokalizacji w tej grupie regionów.

Te dwa pierwsze to żaden problem, ale mam trudności w uzyskaniu ogólnej sumy do raportu, który byłby sumą poszczególnych sumie regionie.

=Sum(Fields!goal.Value, "region") 

Nie mogę nawiązać do grupy regionów, ponieważ suma znajduje się poza tą grupą - "parametr zakresu, który nie jest prawidłowy dla funkcji agregującej". Jak uzyskać sumę każdego regionu (7 000) w tym przypadku?

Odpowiedz

7

W obu łącznie tekstowych, regionu i ogólnej sumy, można użyć tego samego wyrażenia:

=Sum(max(Fields!goal.Value, "LocationName")) 

Ponieważ wyrażenie jest obliczane w bieżącym zakresie Zakres pola tekstowego, pod numerem Region poziomie grupy zostanie to sumując wartość Max goli we wszystkich grup LocationName w regionie, jak i na poziomie ogólnej sumy zostanie to sumując wartość Max goli we wszystkich grup LocationName w wszystkich regionów.

Możesz to zobaczyć w akcji.Z danych, takich jak:

enter image description here

(mam podwoiła się wiersze, aby to oczywiste, jeśli sumy końcowe są poprawne)

i prostą tabelę:

enter image description here

To samo wyrażenie daje poprawny wynik zarówno w obszarze Region, jak i Zakres:

enter image description here

+0

Dziękuję za doskonałą wyjaśnienia. – duffn

0

Czy wypróbowałeś = Max (Fields! Goal.Value)? Jeśli potrzebujesz nieskopiowanej sumy całkowitej, powinno to zadziałać. Oto świetny artykuł MSDN na temat Adding Grouping and Totals. Poniżej znajduje się zdjęcie z tego article, które pokazuje, jak je skonfigurować.

enter image description here

Renders:

enter image description here

Powiązane problemy