Previous-Funktion (Report Builder 3.0 und SSRS)
Gibt den Wert oder den angegebenen Aggregatwert für die vorherige Instanz eines Elements innerhalb des angegebenen Bereichs zurück.
Hinweis |
|---|
Sie können Berichtsdefinitionen (RDL) in Berichts-Generator 3.0 und im Berichts-Designer in Business Intelligence Development Studio erstellen und ändern. Jede Erstellungsumgebung bietet verschiedene Methoden zum Erstellen, Öffnen und Speichern von Berichten und verwandten Elementen. Weitere Informationen finden Sie unter Entwerfen von Berichten in Berichts-Designer und Berichts-Generator 3.0 (SSRS) im Web auf microsoft.com. |
Syntax
Previous(expression, scope)
Parameter
expression
(Variant oder Binary) Der Ausdruck, mit dem die Daten identifiziert werden und für den der vorherige Wert abgerufen wird. Beispiel: Fields!Fieldname.Value oder Sum(Fields!Fieldname.Value).scope
(String) optional. Der Name einer Gruppe oder eines Datenbereichs oder NULL (Nothing in Visual Basic), der den Bereich angibt, aus dem der durch expression angegebene vorherige Wert abgerufen wird.
Rückgabetyp
Gibt einen Variant- oder Binary-Wert zurück.
Hinweise
Die Previous-Funktion gibt den vorherigen Wert für den Ausdruck zurück, der in dem angegebenen Bereich ausgewertet wird, nachdem die Sortierfunktionen und Filter angewendet wurden.
Wenn expression kein Aggregat enthält, wird die Previous-Funktion standardmäßig auf den aktuellen Bereich für das Berichtselement festgelegt.
Verwenden Sie in einer Detailgruppe Previous, um den Wert eines Feldverweises in der vorherigen Instanz der Detailzeile anzugeben. Feldverweise werden nur in der Detailgruppe unterstützt. Beispiel: In einem Textfeld in der Detailgruppe gibt =Previous(Fields!Quantity.Value) die Daten für das Feld Quantity aus der vorherigen Zeile zurück. In der ersten Zeile gibt dieser Ausdruck ein NULL-Element zurück (Nothing in Visual Basic).
Wenn expression eine Aggregatfunktion enthält, die einen Standardbereich verwendet, aggregiert Previous die Daten innerhalb der vorherigen Instanz des im Aggregatfunktionsaufruf angegebenen Bereichs.
Enthält expression eine Aggregatfunktion, die nicht den Standardbereich angibt, muss es sich beim scope-Parameter für die Previous-Funktion um einen enthaltenen Bereich des im Aggregatfunktionsaufruf angegebenen Bereichs handeln.
Die Funktionen Level, InScope, Aggregate und Previous können im expression-Parameter nicht verwendet werden. Die Angabe des recursive-Parameters für eine Aggregatfunktion wird nicht unterstützt.
Weitere Informationen finden Sie unter Aggregatfunktionsreferenz (Report Builder 3.0 und SSRS) und Grundlegendes zum Ausdrucksbereich für Gesamtwerte, Aggregate und integrierte Auflistungen (Report Builder 3.0 und SSRS).
Beispiele
Beschreibung
Das folgende Codebeispiel stellt bei Angabe in der Standarddatenzeile eines Datenbereichs den Wert für das Feld LineTotal in der vorherigen Zeile bereit.
Code
=Previous(Fields!LineTotal.Value)
Beschreibung
Das folgende Codebeispiel zeigt einen Ausdruck, der die Summe der Umsätze an einem bestimmten Tag des Monats und den vorherigen Wert für den Tag des Monats in einem vorhergehenden Jahr berechnet. Der Ausdruck wird einer Zelle in einer Zeile, die zur untergeordneten Gruppe GroupbyDay gehört, hinzugefügt. Die übergeordnete Gruppe ist GroupbyMonth, deren übergeordnete Gruppe wiederum GroupbyYear ist. Der Ausdruck zeigt die Ergebnisse für GroupbyDay (Standardbereich) und anschließend für GroupbyYear (der übergeordneten Gruppe der übergeordneten Gruppe GroupbyMonth) an.
Für einen Datenbereich mit einer übergeordneten Gruppe namens Year ist die entsprechende untergeordnete Gruppe beispielsweise Month, der wiederum die Gruppe Day untergeordnet ist (drei geschachtelte Ebenen). Der Ausdruck =Previous(Sum(Fields!Sales.Value,"Day"),"Year") in einer mit der Gruppe Day verknüpften Zeile gibt den Umsatzwert für denselben Tag und Monat des vorherigen Jahres zurück.
Code
=Sum(Fields!Sales.Value) & " " & Previous(Sum(Fields!Sales.Value,"GroupbyDay"),"GroupbyYear")
Siehe auch
Hinweis