Zum Hauptinhalt springen

Anleitung: Ausdrücke verwenden

Dieses Thema listet Lösungen für häufige Aufgaben im Zusammenhang mit Ausdrücken auf.

Gruppierungsklauseln mit Klammern

Verwenden Sie eckige Klammern, um eine Bedingung anzugeben, unter der der Ausdruck das Ergebnis zurückgeben soll.

Zum Beispiel gibt der folgende Ausdruck alle Kunden zurück, die ein Kontodatum vom 25.08.2006 und einen Kontobetrag von 100 haben:

[Accounts][[Date] == #8/25/2006#] && [Accounts][[Amount] == 100]

Erstellen Sie einen Ausdruck wie im folgenden Beispiel, um nach allen Kunden zu suchen, die ein Konto mit sowohl einem Datum vom 25.08.2006 als auch einem Betrag von 100 haben:

[Accounts][[Date] == #8/25/2006# && [Amount] == 100]

Gruppenzusammenfassungen berechnen

Verwenden Sie den Operator ^, um einen Ausdruck anzugeben, der eine Gruppenzusammenfassung berechnet.

  • Summieren Sie die EFC-Feldwerte in einer Gruppe:

    [][[GroupFieldName] == [^.GroupFieldName]].Sum([EFC])

  • Geben Sie den Gruppenkopfwert an:

    [][[CategoryID] == [^.CategoryID] and [ProductID] == [][[CategoryID] == [^.CategoryID]].Max([ProductID])].Max([ProductName])

  • Zählen Sie, wie oft ein Wert vorkommt:

    Der folgende Ausdruck zählt, wie oft der Wert 12 in der Datenquelle vorkommt:

    [][[FootSize]='12'].Count()

    Der folgende Ausdruck zählt die Anzahl der Datensätze mit Werten ungleich Null:

    [][[FootSize]!=0].Avg([FootSize])

Berichtselemente referenzieren

Die Elemente eines Berichts werden im Berichts-Explorer des Berichts-Designers angezeigt. Sie können auf diese Elemente und deren Eigenschaften in einem Ausdruck zugreifen. Das folgende Beispiel zeigt, wie Sie die BackColor-Eigenschaft einer Beschriftung auf den BackColor-Eigenschaftswert einer anderen Beschriftung setzen:

[ReportItems].[xrLabel2].[BackColor]

hinweis
  • [ReportItems] ist eine flache Liste, die Zugriff auf alle Berichtselemente auf einer Ebene bietet.
  • Sie können die ReportItems-Sammlung nicht im Ausdruck eines berechneten Felds verwenden.

Bilder für Bildfelder angeben

Wenn Sie einen Ausdruck für die Eigenschaft Image Source des Bildfelds angeben, können Sie Bild-Ids aus der ImageResources-Sammlung des Berichts verwenden.

IIf([MarchSales]>20, [Images.ArrowUp],[Images.ArrowDown])

Zeilen-/Spaltenindizes für Kreuztabellenzellen verwenden

Verwenden Sie die folgenden Variablen, um die Darstellungseinstellungen einer Kreuztabellenzelle zu ändern:

  • Arguments.GroupColumnIndex
    Gibt den Index der Spalte einer Zelle innerhalb einer Gruppe zurück.

    iif([Arguments.GroupColumnIndex] % 2 == 1, Rgb(235, 241, 252), ?)
    /*
    Ergebnis: Die angegebene Farbe wendet einen ungerade/gerade-Farbstil auf die Spalten der Kreuztabelle an.
    */
  • Arguments.GroupRowIndex
    Gibt den Index der Zeile einer Zelle innerhalb einer Gruppe zurück.

    iif([Arguments.GroupRowIndex] % 2 == 1, Rgb(235, 241, 252), ?)
    /*
    Ergebnis: Die angegebene Farbe wendet einen ungerade/gerade-Farbstil auf die Zeilen der Kreuztabelle an.
    */

Variablen für ereignisbezogene Ausdrücke verwenden

  • DataSource.RowCount
    Gibt die Gesamtanzahl der Datenzeilen in einer Datenquelle zurück.

    [DataSource.RowCount] != 0
    /*
    Ergebnis: Wenn dieser Ausdruck auf die Visible-Eigenschaft eines Steuerelements angewendet wird, wird das Steuerelement ausgeblendet, wenn die Datenquelle keine Daten enthält.
    */
  • DataSource.CurrentRowIndex
    Gibt den Index der aktuellen Datenzeile in einer Datenquelle zurück.

    Iif([DataSource.CurrentRowIndex] % 2 = 0, 'red', 'green')
    /*
    Ergebnis: Wenn dieser Ausdruck für die BackColor-Eigenschaft einer Tabellenzeile verwendet wird, werden ungerade Zeilen rot und gerade Zeilen grün eingefärbt.
    */
  • DataSource.CurrentRowHierarchyLevel
    Gibt die nullbasierte Ebene der aktuellen Zeile in einem hierarchischen Bericht zurück.

    Iif([DataSource.CurrentRowHierarchyLevel] == 0, Rgb(231,235,244), ?)
    /*
    Ergebnis: Wenn dieser Ausdruck für die BackColor-Eigenschaft des Detailbands verwendet wird, das im Baummodus gedruckt wird, werden die Zeilen der Stammebene hervorgehoben.
    */
hinweis

Diese Variablen sind nicht gültig, wenn der Bericht ein Inhaltsverzeichnis enthält.

Übergeordnete Beziehungen angeben

Verwenden Sie den Operator '^' für übergeordnete Beziehungen, um in Ausdrücken, die im Kontext eines untergeordneten Elements geschrieben werden, auf ein übergeordnetes Element zu verweisen. Sie können diesen Operator nacheinander anwenden, um mehrstufige übergeordnete Beziehungen zu durchlaufen.

Sie können diesen Operator verwenden, um auf die aktuell verarbeitete Berichtsgruppe zu verweisen. Dies ermöglicht es Ihnen, Aggregate innerhalb von Gruppen zu berechnen, wie im folgenden Ausdruck gezeigt:

[][[^.CategoryID] == [CategoryID]].Sum([UnitPrice])

Sammlungselemente testen

Verwenden Sie Klammern, um zu prüfen, ob eine Sammlung ein Element enthält, das eine Bedingung erfüllt. Der folgende Ausdruck gibt true zurück, wenn die Accounts-Sammlung mindestens ein Element enthält, das die Bedingung [Amount] == 100 erfüllt:

[Accounts][[Amount] == 100]

Der folgende Ausdruck gibt false zurück, wenn die Accounts-Sammlung leer ist:

[Accounts][]

Weitere Informationen zur Verwendung dieser Syntax finden Sie im folgenden Thema: Aggregatfunktion berechnen.