Ausdrücke (Berichts-Generator und SSRS)Expressions (Report Builder and SSRS)

Ausdrücke werden sehr häufig in Reporting ServicesReporting Services Berichten mit Seitenzahlen verwendet, um Daten abzurufen, zu berechnen, anzuzeigen, zu gruppieren, zu sortieren, zu filtern, zu parametrisieren oder zu formatieren.Expressions are widely used throughout Reporting ServicesReporting Services paginated reports to retrieve, calculate, display, group, sort, filter, parameterize, and format data.

Für viele Berichtselementeigenschaften kann ein Ausdruck festgelegt werden.Many report item properties can be set to an expression. Mithilfe von Ausdrücken können Sie Inhalt, Entwurf und Interaktivität des Berichts steuern.Expressions help you control the content, design, and interactivity of your report. Ausdrücke werden in MicrosoftMicrosoft Visual BasicVisual Basicgeschrieben, in der Berichtsdefinition gespeichert und vom Berichtsprozessor bei der Ausführung des Berichts ausgewertet.Expressions are written in MicrosoftMicrosoft Visual BasicVisual Basic, saved in the report definition, and evaluated by the report processor when you run the report.

Im Gegensatz zu Anwendungen wie MicrosoftMicrosoft Office Excel, bei denen Sie Daten direkt in einem Arbeitsblatt oder einem Bericht bearbeiten, verwenden Sie Ausdrücke, bei denen es sich um Platzhalter für Daten handelt.Unlike applications such as MicrosoftMicrosoft Office Excel where you work with data directly in a worksheet, in a report, you work with expressions that are placeholders for data. Der Bericht muss in der Vorschau angezeigt werden, um die tatsächlichen Daten der ausgewerteten Ausdrücke anzeigen zu können.To see the actual data from the evaluated expressions, you must preview the report. 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.When you run the report, the report processor evaluates each expression as it combines report data and report layout elements such as tables and charts.

Während des Berichtsentwurfs werden zahlreiche Berichtselementausdrücke für Sie festgelegt.As you design a report, many expressions for report items are set for you. 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.For example, when you drag a field from the data pane to a table cell on the report design surface, the text box value is set to a simple expression for the field. In der folgenden Abbildung enthält der Berichtsdatenbereich die Datasetfelder ID, Name, SalesTerritory, Code und Sales.In the following figure, the Report Data pane displays the dataset fields ID, Name, SalesTerritory, Code, and Sales. Der Tabelle wurden die drei Felder[Name], [Code] und [Sales] hinzugefügt.Three fields have been added to the table: [Name], [Code], and [Sales]. Die Bezeichnung [Name] auf der Entwurfsoberfläche stellt den zugrunde liegenden =Fields!Name.Value-Ausdruck dar.The notation [Name] on the design surface represents the underlying expression =Fields!Name.Value.

rs_DatendesignundVorschaurs_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.When you preview the report, the report processor combines the table data region with the actual data from the data connection and displays a row in the table for every row in the result set.

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.To enter expressions manually, select an item on the design surface, and use shortcut menus and dialog boxes to set the properties of the item. Wenn die Schaltfläche (fx) oder der Wert <Expression> in einer Dropdownliste angezeigt wird, deutet dies darauf hin, dass Sie einen Ausdruck für die Eigenschaft festlegen können.When you see the (fx) button or the value <Expression> in a drop-down list, you know that you can set the property to an expression. Weitere Informationen finden Sie unter Hinzufügen eines Ausdrucks (Berichts-Generator und SSRS)-Ausdruck dar.For more information, see Add an Expression (Report Builder and SSRS).

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)SQL Server Data Tools (SSDT).To develop complex expressions or expressions that use custom code or custom assemblies, we recommend that you use Report Designer in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT). Weitere Informationen finden Sie unter Benutzerdefinierter Code und Assemblyverweise in Ausdrücken in Berichts-Designer (SSRS)-Ausdruck dar.For more information, see Custom Code and Assembly References in Expressions in Report Designer (SSRS).

Hinweis

Sie können paginierte Berichtsdefinitionsdateien (.rdl) im Berichts-Generator und im Berichts-Designer in SQL Server-Datentools erstellen und ändern.You can create and modify paginated report definition (.rdl) files in Report Builder and in Report Designer in SQL Server Data Tools. Jede Erstellungsumgebung bietet verschiedene Methoden zum Erstellen, Öffnen und Speichern von Berichten und verwandten Elementen.Each authoring environment provides different ways to create, open, and save reports and related items.

Grundlegendes zu einfachen und komplexen AusdrückenUnderstanding Simple and Complex Expressions

Ausdrücke beginnen mit einem Gleichheitszeichen (=) und werden in MicrosoftMicrosoft Visual BasicVisual Basicgeschrieben.Expressions begin with an equal sign (=) and are written in MicrosoftMicrosoft Visual BasicVisual Basic. 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.Expressions can include a combination of constants, operators, and references to built-in values (fields, collections, and functions), and to external or custom code.

Mithilfe von Ausdrücken können die Werte zahlreicher Berichtselementeigenschaften angegeben werden.You can use expressions to specify the value of many report item properties. Die häufigsten Eigenschaften sind Werte für Textfelder und Platzhaltertext.The most common properties are values for text boxes and placeholder text. Wenn ein Textfeld nur einen Ausdruck enthält, entspricht der Ausdruck normalerweise dem Wert der Textfeldeigenschaft.Typically, if a text box contains only one expression, the expression is the value of the text box property. Wenn ein Textfeld mehrere Ausdrücke enthält, entspricht jeder Ausdruck dem Wert eines Platzhaltertexts im Textfeld.If a text box contains multiple expressions, each expression is the value of placeholder text in the text box.

Ausdrücke werden auf der Berichtsentwurfsoberfläche standardmäßig als einfache oder komplexe Ausdrückeangezeigt.By default, expressions appear on the report design surface as simple or complex expressions.

  • 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.Simple A simple expression contains a reference to a single item in a built-in collection, for example, a dataset field, a parameter, or a built-in field. Auf der Entwurfsoberfläche wird ein einfacher Ausdruck in eckigen Klammern angezeigt.On the design surface, a simple expression appears in brackets. [FieldName] entspricht z. B. dem zugrunde liegenden Ausdruck =Fields!FieldName.Value.For example, [FieldName] corresponds to the underlying expression =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.Simple expressions are created for you automatically as you create the report layout and drag items from the Report Data pane to the design surface. Weitere Informationen zu den Symbolen, die unterschiedliche integrierte Sammlungen darstellen, finden Sie unter Grundlegendes zu Präfixsymbolen in einfachen Ausdrücken.For more information about the symbols that represent different built-in collections, see Understanding Prefix Symbols for Simple Expressions.

  • Komplex: Ein komplexer Ausdruck enthält Verweise auf mehrere integrierte Verweise, Operatoren und Funktionsaufrufe.Complex A complex expression contains references to multiple built-in references, operators, and function calls. Wenn der Ausdruckswert mehrere einfache Verweise enthält, wird ein komplexer Ausdruck als <Expr<>> dargestellt.A complex expression appears as <<Expr>> when the expression value includes more than a simple reference. Zum Anzeigen des Ausdrucks zeigen Sie darauf und lesen die QuickInfo.To view the expression, hover over it and use the tooltip. Um den Ausdruck zu bearbeiten, öffnen Sie ihn im Dialogfeld Ausdruck .To edit the expression, open it in the Expression dialog box.

    Die folgende Abbildung enthält typische einfache und komplexe Ausdrücke sowohl für Textfelder als auch für Platzhaltertext.The following figure shows typical simple and complex expressions for both text boxes and placeholder text.

    rs_Ausdrucksstandardformatrs_ExpressionDefaultFormat

    Um in Ausdrücken Beispielwerte anstelle von Text anzuzeigen, formatieren Sie das Textfeld oder den Platzhaltertext.To display sample values instead of text for expressions, apply formatting to the text box or placeholder text. In der folgenden Abbildung wird die Berichtsentwurfsoberfläche auf die Anzeige von Beispielwerten umgeschaltet:The following figure shows the report design surface toggled to show sample values:

    rs_ExpressionSampleValuesFormatrs_ExpressionSampleValuesFormat

    Weitere Informationen finden Sie unter Formatieren von Text und Platzhaltern (Berichts-Generator und SSRS).For more information, see Formatting Text and Placeholders (Report Builder and SSRS).

BerichtsmodellformelnReport Model Formulas

Wenn Sie eine Abfrage für ein Dataset entwerfen, das ein Berichtsmodell als Datenquelle verwendet, können Sie Formelnerstellen.When you are designing a query for a dataset that uses a report model as a data source, you can create formulas. Formeln sind Berechnungen, die für Werte in einem Bericht ausgeführt werden, die auf den Daten eines Berichtsmodells basieren.Formulas are calculations performed on values in a report that are based on data from a report model.

Weitere Informationen finden Sie unter Formeln in Berichtsmodellabfragen (Berichts-Generator und SSRS).For more information, see Formulas in Report Model Queries (Report Builder and SSRS).

Grundlegendes zu Präfixsymbolen in einfachen AusdrückenUnderstanding Prefix Symbols in Simple Expressions

Einfache Ausdrücke verwenden Symbole, um anzugeben, ob ein Verweis für ein Feld, einen Parameter, eine integrierte Auflistung oder die ReportItems-Auflistung gilt.Simple expressions use symbols to indicate whether the reference is to a field, a parameter, a built-in collection, or the ReportItems collection. In der folgenden Tabelle sind Beispiele für Anzeige- und Ausdruckstext aufgeführt:The following table shows examples of display and expression text:

ElementItem Beispiel für AnzeigetextDisplay text example Beispiel für AusdruckstextExpression text example
DatasetfelderDataset fields [Sales]

[SUM(Sales)]

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

=Sum(Fields!Sales.Value)

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

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

=Parameters!Param.Label
Integrierte FelderBuilt-in fields [&ReportName] =Globals!ReportName.Value
Für Anzeigetext verwendete LiteralzeichenLiteral characters used for display text \[Sales\] [Sales]

Schreiben komplexer AusdrückeWriting Complex Expressions

Ausdrücke können Verweise auf Funktionen, Operatoren, Konstanten, Felder, Parameter, Elemente aus integrierten Auflistungen sowie auf eingebetteten benutzerdefinierten Code oder benutzerdefinierte Assemblys enthalten.Expressions can include references to functions, operators, constants, fields, parameters, items from built-in collections, and to embedded custom code or custom assemblies.

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 ServerSQL Server SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT).To develop complex expressions or expressions that use custom code or custom assemblies, we recommend that you use Report Designer in SQL ServerSQL Server SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT). Weitere Informationen finden Sie unter Benutzerdefinierter Code und Assemblyverweise in Ausdrücken in Berichts-Designer (SSRS)-Ausdruck dar.For more information, see Custom Code and Assembly References in Expressions in Report Designer (SSRS).

In der folgenden Tabelle sind die Verweistypen aufgeführt, die Sie in einen Ausdruck aufnehmen können:The following table lists the kinds of references you can include in an expression:

VerweiseReferences DescriptionDescription BeispielExample
KonstantenConstants Beschreibt die Konstanten, auf die Sie für Eigenschaften, die konstante Werte erfordern, z. B. Schriftfarben, interaktiv zugreifen können.Describes the constants you can access interactively for properties that require constant values, such as font colors. ="Blue"
OperatorenOperators Beschreibt die Operatoren, mit denen Sie Verweise in einem Ausdruck kombinieren können.Describes the operators you can use to combine references in an expression. Der & -Operator wird z. B. zum Verketten von Zeichenfolgen verwendet.For example, the & operator is used for concatenating strings. ="The report ran at: " & Globals!ExecutionTime & "."
Integrierte AuflistungenBuilt-in Collections Beschreibt die integrierten Auflistungen, die Sie in einen Ausdruck einschließen können, z. B. Fields, Parametersund Variables.Describes the built-in collections that you can include in an expression, such as Fields, Parameters, and Variables. =Fields!Sales.Value

=Parameters!Store.Value

=Variables!MyCalculation.Value
Integrierte Berichts- und AggregatfunktionenBuilt-in Report and Aggregate Functions Beschreibt die integrierten Funktionen, z. B. Sum oder Previous, auf die Sie von einem Ausdruck aus zugreifen können.Describes the built-in functions, such as Sum or Previous, that you can access from an expression. =Previous(Sum(Fields!Sales.Value))
Benutzerdefinierter Code und Assemblyverweise in Ausdrücken in Berichts-Designer (SSRS)Custom Code and Assembly References in Expressions in Report Designer (SSRS) Beschreibt, wie Sie auf die integrierten CLR-Klassen Math und Convert, andere CLR-Klassen, Visual BasicVisual Basic -Laufzeitbibliotheksfunktionen oder Methoden aus einer externen Assembly zugreifen können.Describes how you can access the built-in CLR classes Math and Convert, other CLR classes, Visual BasicVisual Basic run-time library functions, or methods from an external assembly.

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.Describes how you can access custom code that is embedded in your report, or that you compile and install as a custom assembly on both the report client and the report server.
=Sum(Fields!Sales.Value)

=CDate(Fields!SalesDate.Value)

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

=Code.ToUSD(Fields!StandardCost.Value)

Überprüfen von AusdrückenValidating Expressions

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.When you create an expression for a specific report item property, the references that you can include in an expression depend on the values that the report item property can accept and the scope in which the property is evaluated. Zum Beispiel:For example:

  • Der [Sum]-Ausdruck berechnet standardmäßig die Summe der Daten, die sich zum Zeitpunkt der Ausdrucksauswertung im Ausdrucksbereich befinden.By default, the expression [Sum] calculates the sum of data that is in scope at the time the expression is evaluated. Bei einer Tabellenzelle hängt der Bereich von Mitgliedschaften in Zeilen- und Spaltengruppen ab.For a table cell, the scope depends on row and column group memberships. Weitere Informationen finden Sie unter Ausdrucksbereich für Gesamtwerte, Aggregate und integrierte Sammlungen (Berichts-Generator und SSRS)-Ausdruck dar.For more information, see Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS).

  • Der Wert für eine Font-Eigenschaft muss zum Namen einer Schriftart ausgewertet werden.For the value for a Font property, the value must evaluate to the name of a font.

  • Die Ausdruckssyntax wird zur Entwurfszeit überprüft.Expression syntax is validated at design time. Der Ausdrucksbereich wird beim Veröffentlichen des Berichts überprüft.Expression scope validation occurs when you publish the report. Bei Überprüfungen, die von den tatsächlichen Daten abhängen, können Fehler nur zur Laufzeit ermittelt werden.For validation that depends on the actual data, errors can only be detected at run-time. Bei einigen Ausdrücken wird im gerenderten Bericht die Meldung #Fehler ausgegeben.Some of these expressions produce #Error as an error message in the rendered report. Die Ursache für derartige Fehler können Sie mit dem Berichts-Designer in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)ermitteln.To help determine the issues for this kind of error, you must use Report Designer in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT). Der Berichts-Designer enthält ein Ausgabefenster, in dem weitere Informationen zu diesen Fehlern angegeben sind.Report Designer provides an Output window that provides more information about these errors.

    Weitere Informationen finden Sie unter Ausdrucksreferenz (Berichts-Generator und SSRS)-Ausdruck dar.For more information, see Expression Reference (Report Builder and SSRS).

In diesem AbschnittIn This Section

Hinzufügen eines Ausdrucks (Berichts-Generator und SSRS)Add an Expression (Report Builder and SSRS)

Ausdrucksverwendungen in Berichten (Berichts-Generator und SSRS)Expression Uses in Reports (Report Builder and SSRS)

Ausdrucksbereich für Gesamtwerte, Aggregate und integrierte Sammlungen (Berichts-Generator und SSRS)Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS)

Ausdrucksreferenz (Berichts-Generator und SSRS)Expression Reference (Report Builder and SSRS)

Weitere Informationen finden Sie unterSee Also

Weitere Informationen und Beispiele finden Sie in den folgenden Themen:For more information and examples, see the following topics: