Visual-Basic-Funktionen

Innerhalb von SunSystems Reporting Services kann eine große Anzahl von Visual-Basic-Funktionen verwendet werden. Hier nur eine Auswahl aus den zur Verfügung stehenden Typen von Funktionen:

  • Allgemeines
  • Datum
  • Entscheidung

Allgemeine Funktionen

Die folgenden allgemeinen Funktionen und Operatoren werden häufig angewendet:

Allgemeine VB-Funktion Beschreibung
ABS(Expression) Gibt den Absolutwert eines Ausdrucks zurück.
MOD Der Ausdruck 'RowNumber(Nothing) MOD 2' kann zum Bestimmen von geraden und ungeraden Zeilen eines Datensatzes verwendet werden.
MID, LEFT, RIGHT, LEN und TRIM Dies sind Textfolgefunktionen, die Textdaten manipulieren.
LCASE, UCASE Damit werden Zeichenfolgen in Klein- bzw. Großbuchstaben konvertiert.
FORMAT(Expression, "Standard") Dies wandelt eine numerische Folge in das Standardnummernformat um.
CSTR, CDATE, CDBL Damit werden für Ausdrücke Textfolgen-, Datums- oder numerische Duplikate erstellt.
Hinweis: Es kann oft erforderlich sein, einen komplexen IF-Ausdruck, von dem die Ausgabe eines numerischen Wertes erwartet wird, zu konvertieren, indem dieser Ausdruck in eine CDBL-Funktion eingebettet wird.
ME.Value Dieser Ausdruck gibt den aktuellen Wert des Textfeldes zurück und ist in Ausdrücken für Sichtbarkeit und bedingte Formatierung nützlich, wenn die entsprechende Bedingung vom Wert des Textfeldes abhängt.

Datumsfunktionen

Die folgenden Datumsfunktionen werden am häufigsten angewendet:

Datumsfunktionen Beschreibung
DAY(Date) Dies gibt einen Ganzzahlwert zwischen 1 und 31 zurück, der den Tag darstellt.
MONTH(Date) Dies gibt einen Ganzzahlwert zwischen 1 und 12 zurück, der den Monat darstellt.
MONTHNAME(Date) Dies gibt den Monatsnamen zurück, z. B. September.
WEEKDAY(Date) Dies gibt einen Ganzzahlwert zwischen 1 (für Sonntag) und 7 (für Samstag) zurück.
WEEKDAYNAME(Date) Die gibt den Wochentag zurück, z. B. Dienstag.
YEAR(Date) Dies gibt einen Ganzzahlwert zwischen 1 und 9999 zurück, der das Jahr ab dem angegebenen Datum darstellt.
DATEPART("interval", Date) Gibt einen Ganzzahlwert zurück, der die angegebene Komponente des jeweiligen Datumswerts enthält. Dabei kann 'interval' Folgendes sein:
  • d: Tag des Monats
  • y: Tag des Jahres
  • h: Stunde
  • n: Minute
  • m: Monat
  • q: Quartal
  • s: Sekunde
  • w: Woche (Tag der Woche)
  • ww: Kalenderwoche (Woche des Jahres, 1-53)
  • yyyy: Jahr
DATEADD("interval", number, Date) Gibt einen Datumswert zurück, der einen Datums- und Zeitwert mit einem bestimmten hinzugefügten Zeitintervall enthält. Dabei kann 'interval' Folgendes sein:
  • d: Tag, auf einen ganzzahligen Wert abgeschnitten
  • y: Tag (des Jahres), auf einen ganzzahligen Wert abgeschnitten
  • h: Stunde, auf die nächste Millisekunde gerundet
  • n: Minute, auf die nächste Millisekunde gerundet
  • m: Monat, auf einen ganzzahligen Wert abgeschnitten
  • q: Quartal, auf einen ganzzahligen Wert abgeschnitten
  • s: Sekunde, auf die nächste Millisekunde gerundet
  • w: Tag (der Woche), auf einen ganzzahligen Wert abgeschnitten
  • ww: Woche (des Jahres), auf einen ganzzahligen Wert abgeschnitten
  • yyyy: Jahr, auf einen ganzzahligen Wert abgeschnitten
DATEDIFF("interval", Date1, Date2) Dies gibt einen langen Wert zurück, der den Unterschied in Zeitintervall-Einheiten zwischen Datum 2 und Datum 1 festlegt. Dabei kann 'interval' Folgendes sein:
  • d: Tag
  • y: Tag (des Jahres - wird wie Tag behandelt)
  • h: Stunde
  • n: Minute
  • m: Monat
  • q: Quartal
  • s: Sekunde
  • w: Woche
  • ww: Kalenderwoche (der erste Wochentag wird verwendet)
DATESERIAL(Year, Month, Day) Dabei gilt:
  • Jahr wird benötigt. Ein Ganzzahlausdruck zwischen 1 und 9999. Werte unter diesem Bereich werden jedoch ebenfalls angenommen. Liegt der Jahreswert zwischen 0 und 99, bezeichnet dies die Jahre von 1930 bis 2029. Ist der Jahreswert kleiner als 1, wird er vom aktuellen Jahr subtrahiert.
  • Monat wird benötigt. Ein Ganzzahlausdruck zwischen 1 und 12. Werte außerhalb dieses Bereichs werden jedoch ebenfalls angenommen. Der Monatswert wird um 1 versetzt und auf Januar des berechneten Jahres angewendet. Mit anderen Worten, 'Monat - 1' wird zu Januar addiert. Das Jahr wird bei Bedarf erneut berechnet. Die folgenden Resultate veranschaulichen diesen Effekt:
    • Ist Monat gleich 1, dann ist das Ergebnis Januar des berechneten Jahres.
    • Ist Monat gleich 0, dann ist das Ergebnis Dezember des vorangegangenen Jahres.
    • Ist Monat gleich -1, dann ist das Ergebnis November des vorangegangenen Jahres.
    • Ist Monat gleich 13, dann ist das Ergebnis Januar des darauf folgenden Jahres.
  • Tag wird benötigt. Ein Ganzzahlausdruck zwischen 1 und 31. Werte außerhalb dieses Bereichs werden jedoch ebenfalls angenommen. Der Tageswert wird um 1 versetzt und auf den ersten Tag des berechneten Monats angewendet. Mit anderen Worten, 'Tag - 1' wird zum ersten Monatstag addiert. Monat und Jahr werden bei Bedarf erneut berechnet. Die folgenden Resultate veranschaulichen diesen Effekt:
    • Ist Tag gleich 1, dann ist das Ergebnis der erste Tag des berechneten Monats.
    • Ist Tag gleich 0, dann ist das Ergebnis der letzte Tag des vorangegangenen Monats.
    • Ist Tag gleich -1, dann ist das Ergebnis der vorletzte Tag des vorangegangenen Monats.
    • Liegt der Tageswert nach dem Ende des aktuellen Monats, dann ist das Ergebnis der entsprechende Tag des Folgemonats, z. B. ist Monat gleich 4 und Tag gleich 31, dann ist das Ergebnis der 1. Mai.

Der folgende Ausdruck gibt ebenfalls einen von drei Werten zurück, je nach dem Wert der Zuweisungsmarke. Er verwendet jedoch die Funktion 'Switch'. 'Switch' gibt den mit dem ersten Ausdruck in einer Reihe von auf TRUE (Wahr) geprüften Ausdrücken verbundenen Wert zurück.

=Switch(Fields!Marker.Value >= 7, "Green", Fields!Marker.Value >= 5, "Amber", Fields!Marker.Value < 5, "Red")

Ausdrücke mit Zählern verwenden

Mit der Berichtsnummerierungsfunktion können Sie zu Beginn des Berichtslaufs einen Ausdruck zum Angeben einer Startnummer festlegen, die dann für jedes verarbeitete Dokument jeweils um einen Schritt erhöht wird. Geben Sie an, ob die Anfangsnummer zur Laufzeit als Parameter eingegeben oder aus einem Datenfeld übernommen werden soll.

Sie können eine Nummerierung erhöhen auf Grundlage der Wertänderung in einem Feld, und Sie können angeben, dass dies nur auf bestimmte, während der Laufzeit angewendete Filter zutreffen soll.

Nach dem Erstellen einer Nummerierung kann diese dem Bericht hinzugefügt werden. Wählen Sie Ansicht > Sonderfelder, um die verfügbaren Nummerierungen in der Suchfunktion von Sonderfelder anzuzeigen, und bewegen Sie die gewünschte Nummerierung durch Ziehen und Ablegen in den Bericht.