Hilfe: Report-Designer - Fortgeschrittene Bedienung

Dieses Kapitel setzt Erfahrung mit der grundlegende Bedienung des Report-Designers voraus. Diese Hilfe konzentriert sich auf die Themen

  • Daten und Werte anzeigen
  • Daten manipulieren
  • Formeln
  • Parameter
  • SQL-Abfragen

Datum, Zeit und Seiten anzeigen

Über den Reiter Daten -> Variablen können Sie Systemvariablen, wie z.B. das aktuelle Datum oder die Seitenzahl, so wie benutzerdefinerte Variablen (Report-Parameter), in einen Report per Drag&Drop einfügen.

Variablen in ein Dokument einfügen

  • TODAY - Aktuelles Datum
  • TIME - Aktuelle Uhrzeit
  • NOW - Datum und Zeit
  • PAGE - Aktuelle Seitenzahl
  • PAGECOUNT - Gesamtzahl Seiten. Es handelt sich um eine spezielle Variable, die nicht mit anderen Variablen oder Werten kombiniert und in einer Formel verwendet werden kann. Damit die Gesamtzahl Seiten ermittelt werden kann, muss die Option Two pass report in den Seiteneinstellungen aktiviert werden. Die Option finden Sie im Menü unter Datei -> Seite einrichten -> Drucker einrichten.

Zusätzliche Datenfelder einfügen

Um weitere Datenfelder in ein Dokument einzufügen, klicken Sie in den Reiter Daten. Dort werden die im Bericht zur Verfügung stehenden Abfragen und Felder angezeigt. Erweitern Sie eine Abfrage, um die zugehörigen Felder anzuzeigen. Nun können Sie ein Feld einfach in das Dokument ziehen und bearbeiten. In jedem Dokument stehen nur bestimmte Daten zur Verfügung. Wenn Sie Felder aus einer anderen Datentabelle benötigen, müssen Sie eine entsprechende Datenabfrage erstellen.

Zusätzliche Datenfelder in ein Dokument einfügen

Formeln

Mit Formeln können Sie Daten und Werte vor der Ausgabe im Report manipulieren. Die Änderung bezieht sich dabei immer nur auf die Ausgabe, die original Daten bleiben unverändert.

Um eine Formel für die Ausgabe von Daten zu erstellen, müssen Sie ein Bedingungsfeld im Report platzieren. In die Eigenschaft Bedingung wird die eigentliche Formel eingetragen.

Bedingungsfeld einfügen oder bearbeiten

Durch Klick auf den Button ... in der Bedingung, öffnen Sie den Formeleditor. Bei der Eingabe eigener Formeln, muss unbedingt die korrekte Syntax eingehalten werden.

Formeleditor

Die folgenden Erklärungen sollen einen grobes Verständnis für den Umgang mit Formeln vermitteln.

Beispiele für wichtige Formeln

Funktion Beschreibung
Auf Tabellendaten zugreifen

Der Zugriff erfolgt über den Namen der Abfrage (Query) gefolgt von einem Punkt und dem Spaltennamen, z.B. POSITION.GELIEFERT.

Der Zugriff auf Tabellendaten ist die grundlegende Funktion eines Reports. Sie können Daten direkt ausgeben oder nachfolgend mit Berechnungen und Funktionen verändern.

Berechnungen Für Zahlenfelder können die standard Operationen (+ - * /) angewendet werden z.B. POSITION.GELIEFERT * POSITION.PREISNET.
Texte verknüpfen

Die Verkettung von Texten erfolgt über den + Operator. Es ist wichtig, dass die Daten den selben Datentyp aufweisen. Falls unterschiedliche Typen vorliegen, muss der Typ konvertiert werden. Statische Texte müssen in Hochkomma '' eingeschloßen sein.

Beispiele:

  • 'Einheit: ' + POSITION.EINHEIT
  • POSITION.ARTIKELBEZ + ' ' + POSITION.ARTIKELBE2
  • POSITION.ARTIKELBEZ + #10 + POSITION.ARTIKELBE2
  • str(POSITION.GELIEFERT) + ' ' + POSITION.EINHEIT
Ergebnisse:
  • Einheit: Stück
  • Zylinderschraube DIN 912 mit Innensechskant
  • Zylinderschraube DIN 912
    mit Innensechskant
  • 10 Stück

WENN-DANN Bedingung

Mit einer bedingten Anweisung können Sie abhängig von einer Bedingungen unterschiedliche Werte verwenden. Wenn die Bedingung erfüllt ist, wird Wert 1 verwendet, ansonsten Wert 2. Dazu steht die iif-Bedingung zur Verfügung. Die Syntax der iif-Bedingung lautet

iif( Bedingung, Wert 1, Wert 2 )

Als Operatoren für die Bedingung stehen == >= <= > < <> and or not zur Verfügung.

Beispiele:

  • iif(POSITION.OFFEN > 0, 'Es sind noch Positionen offen', 'Position erledigt')
  • iif(POSITION.STCK >= 1000, POSITION.PREISNET/1000, POSITION.PREISNET)

Datenabfragen (SQL-Querys) einrichten

Um Daten aus der Datenbank abzufragen müssen sogenannte Querys eingerichtet werden. Ein Query ruft Daten durch die Datenbanksprache SQL ab. Durch eine SQL-Abfrage können Daten gefiltert, gruppiert und sortiert werden. Eine Abfrage kann von sehr einfach bis sehr komplex werden. Eine einfache Abfrage wäre z.B. SELECT * FROM artikel, um alle Artikel abzufragen.

SQL ist standardisiert und unterscheidet sich nur im Umfang abhängig vom Datenbanksystem. Umfassende Hilfe zur SQL-Syntax finden Sie im Internet.

SQL Datenabfragen einrichten

Klicken Sie in der Werkzeugleiste auf das Hammer-Symbol, um die Datenverbindungen zu öffnen. In den meisten Reports sind bereits Abfragen angelegt, aber Sie können auch eigene Querys hinzufügen. Jede Abfrage benötigt eine Datenbankverbindung. In Hyreka greift die Datenbank KUNDENMANAGER auf die globalen Daten zu.

Wählen Sie eine Abfrage aus, oder fügen Sie neue Querys hinzu. Es muss eine Datenverbindung zugewiesen und ein SQL-Befehl eingetragen werden. Mit Daten anzeigen können Sie die Abfrage überprüfen. Anschließend können Sie die Änderungen mit OK übernehmen. Der Query ist nun im Report unter Daten verfügbar.

Unterabfragen (Joins) einrichten

Eine Unterabfrage ermöglicht es, für einen vorhergehenden Datensatz, eine Unterabfrage auszuführen. Eine Unterabfrage wird benötigt, wenn zusätzliche Daten in einer weiteren Tabelle gespeichert sind. Diese Daten sind üblicherweise über eine bestimmte Eigenschaft miteinander verknüpft, z.B. eine Adresse mit den Bankdaten über die Kundennummer.

In dem folgenden Beispiel wird eine Unterabfrage auf die Artikeldaten ausgeführt und zwar in Abhängigkeit von dem Datensatz POSITION.

Unterabfrage mit einer Verknüpfung (Join)

Wählen Sie bei Master-Datensatz die entpsrechenden Abfrage aus. Für jeden Datensatz im Master wird nun eine zusätzliche Unterabfrage ausgelöst und zwar immer dann, wenn im Master ein neuer Datensatz aufgerufen wird.

Damit für jeden Masterdatensatz auch der richtige Unterdatensatz abgerufen wird, muss eine WHERE-Bedingung definiert werden. In diesem Beispiel werden die Daten über das Feld artikelnr in der Tabelle Artikel und das Feld artnum aus dem Masterdatensatz POSITION verknüpft. Damit die Abfrage zwischen einem Feld aus einer Tabelle und dem Feld aus einem Masterdatensatz unterscheiden kann, muss ein Doppelpunkt für :artnum verwendet werden.