Ausdrücke in einem paginierten Bericht (Berichts-Generator)

Gilt für: Microsoft Report Builder (SSRS) Power BI Report Builder Berichts-Designer in SQL Server Data Tools

Ausdrücke werden sehr häufig in paginierten Berichten verwendet, um Daten abzurufen, zu berechnen, anzuzeigen, zu gruppieren, zu sortieren, zu filtern, zu parametrisieren oder zu formatieren.

Für viele Berichtselementeigenschaften kann ein Ausdruck festgelegt werden. Mithilfe von Ausdrücken können Sie Inhalt, Entwurf und Interaktivität des Berichts steuern. Ausdrücke werden in Microsoft Visual Basic geschrieben, in der Berichtsdefinition gespeichert und vom Berichtsprozessor ausgewertet, wenn Sie den Bericht ausführen.

Im Gegensatz zu Anwendungen wie Microsoft Excel, in denen Sie direkt mit Daten auf Arbeitsblättern arbeiten, arbeiten Sie in Berichten mit Ausdrücken, die als Platzhalter für Daten fungieren. Der Bericht muss in der Vorschau angezeigt werden, um die tatsächlichen Daten der ausgewerteten Ausdrücke anzeigen zu können. Wenn Sie den Bericht ausführen, wertet der Berichtsprozessor jeden Ausdruck aus, während Berichtsdaten und Elemente des Berichtslayouts, z. B. Tabellen und Diagramme, kombiniert werden.

Während des Berichtsentwurfs werden zahlreiche Berichtselementausdrücke für Sie festgelegt. Wenn Sie ein Feld aus dem Datenbereich in eine Tabellenzelle auf der Berichtsentwurfsoberfläche ziehen, wird z. B. ein einfacher Ausdruck als Textfeldwert für das Feld festgelegt. In der folgenden Abbildung enthält der Berichtsdatenbereich die Datasetfelder ID, Name, SalesTerritory, Code und Sales. Der Tabelle wurden die drei Felder[Name], [Code] und [Sales] hinzugefügt. Die Bezeichnung [Name] auf der Entwurfsoberfläche stellt den zugrunde liegenden =Fields!Name.Value-Ausdruck dar.

rs_DataDesignandPreview

Wenn Sie den Bericht in der Vorschau anzeigen, kombiniert der Berichtsprozessor den Tabellendatenbereich mit den tatsächlichen Daten aus der Datenverbindung und zeigt für jede Zeile im Resultset eine Zeile in der Tabelle an.

Wenn Sie Ausdrücke manuell eingeben möchten, wählen Sie auf der Entwurfsoberfläche ein Element aus und legen die Eigenschaften des Elements mithilfe der Kontextmenüs und Dialogfelder fest. Wenn die Schaltfläche (fx) oder der Wert <Expression> in einer Dropdownliste angezeigt wird, deutet dies darauf hin, dass Sie die Eigenschaft auf einen Ausdruck festlegen können. Weitere Informationen finden Sie unter Hinzufügen eines Ausdrucks (Berichts-Generator und SSRS)-Ausdruck dar.

Wenn Sie komplexe Ausdrücke oder Ausdrücke entwickeln möchten, die benutzerdefinierten Code oder benutzerdefinierte Assemblys verwenden, empfiehlt sich die Verwendung des Berichts-Designers in SQL Server Data Tools (SSDT). Weitere Informationen finden Sie unter Benutzerdefinierter Code und Assemblyverweise in Ausdrücken in Berichts-Designer (SSRS).

Hinweis

Sie können paginierte Berichtsdefinitionsdateien (.rdl) im Berichts-Generator von Microsoft, im Power BI Report Builder und im Berichts-Designer in SQL Server-Datentools erstellen und ändern.

Grundlegendes zu einfachen und komplexen Ausdrücken

Ausdrücke beginnen mit einem Gleichheitszeichen (=) und werden in Microsoft Visual Basic geschrieben. Ausdrücke können eine Kombination aus Konstanten, Operatoren und Verweisen auf integrierte Werte (Felder, Auflistungen und Funktionen) und auf externen oder benutzerdefinierten Code enthalten.

Mithilfe von Ausdrücken können die Werte zahlreicher Berichtselementeigenschaften angegeben werden. Die häufigsten Eigenschaften sind Werte für Textfelder und Platzhaltertext. Wenn ein Textfeld nur einen Ausdruck enthält, entspricht der Ausdruck normalerweise dem Wert der Textfeldeigenschaft. Wenn ein Textfeld mehrere Ausdrücke enthält, entspricht jeder Ausdruck dem Wert eines Platzhaltertexts im Textfeld.

Ausdrücke werden auf der Berichtsentwurfsoberfläche standardmäßig als einfache oder komplexe Ausdrückeangezeigt.

  • Einfach: Ein einfacher Ausdruck enthält einen Verweis auf ein einzelnes Element in einer integrierten Sammlung, beispielsweise ein Datasetfeld, einen Parameter oder ein integriertes Feld. Auf der Entwurfsoberfläche wird ein einfacher Ausdruck in eckigen Klammern angezeigt. [FieldName] entspricht z. B. dem zugrunde liegenden Ausdruck =Fields!FieldName.Value. Einfache Ausdrücke werden automatisch erstellt, während Sie das Berichtslayout anlegen und Elemente aus dem Berichtsdatenbereich auf die Entwurfsoberfläche ziehen. Weitere Informationen zu den Symbolen, die unterschiedliche integrierte Sammlungen darstellen, finden Sie unter Grundlegendes zu Präfixsymbolen in einfachen Ausdrücken.

  • Komplex: Ein komplexer Ausdruck enthält Verweise auf mehrere integrierte Verweise, Operatoren und Funktionsaufrufe. Ein komplexer Ausdruck wird als <<Expr>> angezeigt, wenn der Ausdruckswert mehr als einen einfachen Verweis enthält. Zum Anzeigen des Ausdrucks zeigen Sie darauf und lesen die QuickInfo. Um den Ausdruck zu bearbeiten, öffnen Sie ihn im Dialogfeld Ausdruck .

Die folgende Abbildung enthält typische einfache und komplexe Ausdrücke sowohl für Textfelder als auch für Platzhaltertext.

rs_ExpressionDefaultFormat

Um in Ausdrücken Beispielwerte anstelle von Text anzuzeigen, formatieren Sie das Textfeld oder den Platzhaltertext. In der folgenden Abbildung wird die Berichtsentwurfsoberfläche auf die Anzeige von Beispielwerten umgeschaltet:

rs_ExpressionSampleValuesFormat

Weitere Informationen finden Sie unter Formatieren von Text und Platzhaltern (Berichts-Generator und SSRS).

Grundlegendes zu Präfixsymbolen in einfachen Ausdrücken

Einfache Ausdrücke verwenden Symbole, um anzugeben, ob ein Verweis für ein Feld, einen Parameter, eine integrierte Auflistung oder die ReportItems-Auflistung gilt. In der folgenden Tabelle sind Beispiele für Anzeige- und Ausdruckstext aufgeführt:

Element Beispiel für Anzeigetext Beispiel für Ausdruckstext
Datasetfelder [Sales]

[SUM(Sales)]

[FIRST(Store)]
=Fields!Sales.Value

=Sum(Fields!Sales.Value)

=First(Fields!Store.Value)
Berichtsparameter [@Param]

[@Param.Label]
=Parameters!Param.Value

=Parameters!Param.Label
Integrierte Felder [&ReportName] =Globals!ReportName.Value
Für Anzeigetext verwendete Literalzeichen \[Sales\] [Sales]

Schreiben komplexer Ausdrücke

Ausdrücke können Verweise auf Funktionen, Operatoren, Konstanten, Felder, Parameter, Elemente aus integrierten Auflistungen sowie auf eingebetteten benutzerdefinierten Code oder benutzerdefinierte Assemblys enthalten.

Hinweis

Wenn Sie komplexe Ausdrücke oder Ausdrücke entwickeln möchten, die benutzerdefinierten Code oder benutzerdefinierte Assemblys verwenden, empfiehlt sich die Verwendung des Berichts-Designers in SQL Server Data Tools (SSDT). Weitere Informationen finden Sie unter Benutzerdefinierter Code und Assemblyverweise in Ausdrücken in Berichts-Designer (SSRS).

In der folgenden Tabelle sind die Verweistypen aufgeführt, die Sie in einen Ausdruck aufnehmen können:

References BESCHREIBUNG Beispiel
Konstanten Beschreibt die Konstanten, auf die Sie für Eigenschaften, die konstante Werte erfordern, z. B. Schriftfarben, interaktiv zugreifen können. ="Blue"
Operatoren Beschreibt die Operatoren, mit denen Sie Verweise in einem Ausdruck kombinieren können. Der Operator & wird z. B. zum Verketten von Zeichenfolgen verwendet. ="The report ran at: " & Globals!ExecutionTime & "."
Integrierte Auflistungen Beschreibt die integrierten Auflistungen, die Sie in einen Ausdruck einschließen können, z. B. Fields, Parametersund Variables. =Fields!Sales.Value

=Parameters!Store.Value

=Variables!MyCalculation.Value
Integrierte Berichts- und Aggregatfunktionen Beschreibt die integrierten Funktionen, z. B. Sum oder Previous, auf die Sie von einem Ausdruck aus zugreifen können. =Previous(Sum(Fields!Sales.Value))
Benutzerdefinierter Code und Assemblyverweise in Ausdrücken in Berichts-Designer (SSRS) Beschreibt, wie Sie von einer externen Assembly auf die integrierten CLR-Klassen Math und Convert, andere CLR-Klassen, Visual Basic-Runtimebibliotheksfunktionen oder Methoden zugreifen können.

Beschreibt, wie Sie auf benutzerdefinierten Code zugreifen können, der in den Bericht eingebettet ist oder der sowohl auf dem Berichtsclient als auch auf dem Berichtsserver als benutzerdefinierte Assembly kompiliert und installiert wird.
=Sum(Fields!Sales.Value)

=CDate(Fields!SalesDate.Value)

=DateAdd("d",3,Fields!BirthDate.Value)

=Code.ToUSD(Fields!StandardCost.Value)

Überprüfen von Ausdrücken

Wenn Sie einen Ausdruck für eine bestimmte Berichtselementeigenschaft erstellen, sind die in einem Ausdruck verwendbaren Verweise von den Werten abhängig, die die Berichtselementeigenschaft annehmen kann, sowie vom Bereich, in dem die Eigenschaft ausgewertet wird. Beispiel:

  • Der [Sum]-Ausdruck berechnet standardmäßig die Summe der Daten, die sich zum Zeitpunkt der Ausdrucksauswertung im Ausdrucksbereich befinden. Bei einer Tabellenzelle hängt der Bereich von Mitgliedschaften in Zeilen- und Spaltengruppen ab. Weitere Informationen finden Sie unter Ausdrucksbereich für Gesamtwerte, Aggregate und integrierte Sammlungen (Berichts-Generator und SSRS).

  • Der Wert für eine Font-Eigenschaft muss zum Namen einer Schriftart ausgewertet werden.

  • Die Ausdruckssyntax wird zur Entwurfszeit überprüft. Der Ausdrucksbereich wird beim Veröffentlichen des Berichts überprüft. Bei Überprüfungen, die von den tatsächlichen Daten abhängen, können Fehler nur zur Laufzeit ermittelt werden. Bei einigen Ausdrücken wird im gerenderten Bericht die Meldung #Fehler ausgegeben. Die Ursache für derartige Fehler können Sie mit dem Berichts-Designer in SQL Server Data Tools (SSDT) ermitteln. Der Berichts-Designer enthält ein Ausgabefenster, in dem weitere Informationen zu diesen Fehlern angegeben sind.

Weitere Informationen finden Sie unter Ausdrucksreferenz (Berichts-Generator und SSRS).

In diesem Abschnitt

Hinzufügen eines Ausdrucks (Berichts-Generator und SSRS)

Ausdrucksverwendungen in Berichten (Berichts-Generator und SSRS)

Ausdrucksbereich für Gesamtwerte, Aggregate und integrierte Auflistungen (Berichts-Generator und SSRS)

Ausdrucksverweis (Berichts-Generator und SSRS)

Weitere Informationen

Weitere Informationen und Beispiele finden Sie in den folgenden Themen: