SSRS: Berechnungen innerhalb eines Tablix mit der vorherigen Zeile

Um innerhalb einer Tabelle (Tablix) mit der vorherigen Zeile zu rechnen, kann die Funktion Previous() genutzt werden. Diese liefert die Daten aus der vorherigen Zeile zurück:

=Fields!Umsatz.Value-Previous(Fields!Umsatz.Value)

Ergebnis:

Um nun jedoch diese Daten als Prozentwert für einen Indikator wiederverwenden zu können (Darstellung eines Trends), darf jedoch die Funktion Pervious() nicht mehr eingesetzt werden, da diese bereits eine Aggregat-Funktion beinhaltet. Dafür ist es dann notwendig, dass die Daten pro Zeile erstmal zwischengespeichert werden. Das kann über eigenen Code innerhalb der RDL erreicht werden:

Nun kann einerseits in der Tabelle die prozentuale Veränderung dargestellt werden

=code.ZeigeProzentualeVeraenderung(Fields!Umsatz.Value, Previous(Fields!Umsatz.Value))

und diese Daten können nun in einem Indikator verwendet werden:

Ergebnis:

Schreibe einen Kommentar