DB-Filter: Filtern von Datenbankdaten
Die Daten, die aus der Datenbank (DB) in die nicht editierbare XML-Datei importiert werden, können gefiltert werden. (Beachten Sie, dass die nicht editierbare XML-Datei für die Berichtsgenerierung verwendet wird und dass sich die Auswirkungen eines DB-Filters daher nur auf die HTML-, Text- und RTF-Vorschau auswirken, nicht aber auf die Authentic-Vorschau, in welcher die temporäre editierbare XML-Datei angezeigt wird, und nicht in der Authentic-Ansicht). Der DB-Filter kann entweder innerhalb der Datenbank selbst (falls dies von Ihrer DB-Applikation unterstützt wird) oder im SPS (SPS-Datei) erstellt werden. Im SPS kann für jede Datentabelle auf oberster Ebene im XML-Schema (d.h. für die Datentabellen, die die Child-Elemente des DB-Elements bilden) ein Filter erstellt werden. Jedes Mal, wenn ein DB-Filter erstellt oder geändert wird, werden die Daten aus der DB in die temporäre nicht editierbare XML-Datei, die für die DB generiert wird, neu geladen. Auf diese Art können Sie die XML-Datei mit Hilfe von DB-Filtern möglichst klein halten und die Berichtsgenerierung möglichst effizient gestalten.
Anmerkung: Bei Verwendung eines DB-Filters werden die Daten, die in die nicht editierbare XML-Datei importiert werden, geändert. Wenn Sie ein SPS mit einem DB-Filter speichern und dann eine XML-Datei anhand des SPS generieren, wird die generierte XML-Datei entsprechend den Kriterien des DB-Filters gefiltert.
Erstellen eines DB-Filters
1. | Wählen Sie im Design-Dokument oder in der Schemastruktur das Element der Datentabelle aus (entweder durch Klicken auf den Start- oder End-Tag des Elements oder durch Auswahl des Elements in der Schemastruktur), für das Sie einen DB-Filter erstellen möchten. |
2. | Wählen Sie Datenbank | DB-Filter bearbeiten oder klicken Sie in der Symbolleiste auf das Symbol . Daraufhin wird das folgende Dialogfeld angezeigt: |
3. | Klicken Sie auf eine der Schaltflächen AND anhängen oder OR anhängen. Daraufhin wird ein leeres Kriterium für den Filter angehängt (siehe Abbildung unten). |
4. | Geben Sie den Ausdruck für das Kriterium ein. Ein Ausdruck besteht aus: (i) einem Feldnamen (steht über die dazugehörige Auswahlliste zur Verfügung); (ii) einem Operator (verfügbar über die dazugehörige Auswahlliste); und (iii) einem Wert (der direkt eingegeben wird). Nähere Informationen dazu, wie Ausdrücke korrekt erstellt werden, finden Sie weiter unten unter Ausdrücke in Kriterien. |
5. | Wenn Sie ein neues Kriterium hinzufügen möchten, klicken Sie auf die Schaltfläche AND anhängen oder OR anhängen, je nachdem, welchen logischen Operator (AND oder OR) Sie für die beiden Kriterien verwenden möchten. Fügen Sie anschließend das neue Kriterium hinzu. Nähere Informationen über logische Operatoren finden Sie im Abschnitt Neuordnen von Kriterien in DB-Filtern. |
Ausdrücke in Kriterien
Ausdrücke in DB-Filterkriterien bestehen aus einem Feldnamen, einem Operator und einem Wert. Die verfügbaren Feldnamen sind die Spalten der auf der obersten Ebene ausgewählten Datentabelle; die Namen dieser Felder sind in einer Auswahlliste aufgelistet (siehe Abbildung oben). Die verfügbaren Operatoren sind unten aufgelistet:
= | ist gleich |
<> | ist nicht gleich |
< | kleiner als |
<= | kleiner oder gleich |
> | größer als |
>= | größer oder gleich |
LIKE | phonetisch gleich |
NOT LIKE | phonetisch nicht gleich |
IS NULL | ist leer |
NOT NULL | ist nicht leer |
Bei Auswahl von IS NULL oder NOT NULL ist das Wertefeld deaktiviert. Eingegebene Werte dürfen nicht in Anführungszeichen (oder andere Trennzeichen) gesetzt werden. Außerdem muss die Formatierung der Werte der im entsprechenden Feld der Datenbank entsprechen, da das Ergebnis des Ausdrucks andernfalls FALSE ergibt. Wenn z.B. ein Kriterium für ein Feld des Datentyps date in einer MS Access Datenbank den Ausdruck StartDate=25/05/2004 hat, ist das Ergebnis des Ausdrucks FALSE, da der Datentyp date in einer MS Access-Datenbank das Format JJJJ-MM-TT hat.
Verwendung von Parametern mit DB-Filtern
Sie können als Wert eines Ausdrucks auch den Namen eines Parameters eingeben. In diesem Fall wird der Parameter aufgerufen und sein Wert wird als Wert dieses Ausdrucks verwendet. Beim hier eingegebenen Parameter kann es sich um einen Parameter handeln, der bereits für das Stylesheet deklariert wurde, oder um einen Parameter, den Sie zu einem späteren Zeitpunkt deklarieren. Beachten Sie, dass die Schaltfläche OK bei Eingabe eines noch nicht deklarierten Parameters in das Wert-Feld deaktiviert ist.
Parameter eigenen sich, wenn Sie einen einzigen Wert in mehreren Ausdrücken verwenden möchten oder wenn Sie einen Wert über die Befehlszeile an einen Parameter übergeben möchten (nähere Informationen siehe StyleVision Server).
Um den Namen eines Parameters als den Wert eines Ausdrucks einzugeben, geben Sie in das Werteingabefeld $ ein, gefolgt vom Namen des Parameters (ohne Leerzeichen dazwischen). Wenn der Parameter bereits deklariert wurde (siehe Parameter), erscheint der Eintrag in Grün. Wurde der Parameter noch nicht deklariert, erscheint der Eintrag rot und Sie müssen den Parameter deklarieren.
Deklarieren von Parametern über das Dialogfeld "DB-Filter bearbeiten"
Um das Dialogfeld "Parameter bearbeiten" aufzurufen (um Parameter zu deklarieren), gehen Sie folgendermaßen vor:
1. | Klicken Sie im Dialogfeld "DB-Filter bearbeiten" auf die Schaltfläche Parameter... . Daraufhin wird das unten gezeigte Dialogfeld "Parameter bearbeiten" aufgerufen. |
2. | Geben Sie den Namen und Wert des Parameters in die entsprechenden Felder ein. |
Alternativ dazu können Sie das Dialogfeld "Parameter bearbeiten" aufrufen und einen DB-Parameter durch Auswahl von Bearbeiten | Stylesheet-Parameter deklarieren oder bearbeiten.
Anmerkung: Das Dialogfeld "Parameter bearbeiten" enthält alle Parameter, die für das Stylesheet definiert wurden. Wenn Sie einen undeklarierten Parameter im SPS verwenden, ergibt dies einen Fehler. Wenn Sie einen Parameter jedoch deklarieren und nicht verwenden, ist dies kein Fehler.
Nach Erstellung eines DB-Filters für ein Datentabellenelement, wird dieses Element in der Schema-Struktur mit einem Filtersymbol angezeigt, wie das Element Addresses in der Abbildung unten.
Neureihung der Kriterien in DB-Filtern
Die logische Struktur des DB-Filters und die Beziehung zwischen zwei beliebigen Kriterien oder Gruppen von Kriterien wird grafisch angezeigt. Jede Ebene der logischen Struktur wird durch eine eckige Klammer gekennzeichnet. Wenn zwei Kriterien nebeneinander stehen, so wurde dafür der AND Operator verwendet. Wenn zwei Kriterien durch das Wort OR getrennt sind, so wird der OR Operator angezeigt. Die Kriterien sind außerdem eingerückt, um die Gliederung der logischen Struktur des DB-Filters übersichtlich darzustellen.
Der DB-Filter in der Abbildung oben kann in Textform folgendermaßen dargestellt werden:
State=CA AND (City=Los Angeles OR City=San Diego OR (City=San Francisco AND CustomerNr=25))
Sie können den DB-Filter neu ordnen, indem Sie ein Kriterium oder eine Gruppe von Kriterien relativ zu den anderen Kriterien im DB-Filter nach oben oder nach unten verschieben. Um ein Kriterium oder eine Gruppe von Kriterien zu verschieben, gehen Sie folgendermaßen vor:
1.Wählen Sie das Kriterium durch Anklicken aus oder wählen Sie die gesamte Ebene aus, indem Sie auf die Klammer für diese Ebene klicken.
2.Klicken Sie im Dialogfeld auf den Nach-oben- oder Nach-unten-Pfeil.
Beachten Sie bitte die folgenden Punkte:
•Wenn sich das danebenliegende Kriterium in der Richtung, in der das Kriterium verschoben wird, auf derselben Ebene befindet, tauschen die beiden Kriterien den Platz.
•Eine Gruppe von Kriterien (d.h. ein Kriterium innerhalb einer Klammer) ändert seine Position innerhalb derselben Ebene und wird nicht auf eine andere Ebene verschoben.
•Ein einzelnen Kriterium ändert seine Position innerhalb derselben Ebene. Wenn sich das danebenliegende Kriterium weiter außen/innen befindet (d.h. nicht auf derselben Ebene), wird das ausgewählte Kriterium um immer jeweils eine Ebene nach außen/innen verschoben.
•Um ein Kriterium in einem DB-Filter zu löschen, wählen Sie es aus und klicken Sie auf Löschen.
Ändern eines DB-Filters
Um einen DB-Filter zu ändern, Wählen Sie Datenbank | DB-Filter bearbeiten. Daraufhin wird das Dialogfeld "DB-Filter bearbeiten" angezeigt. Sie können nun die Ausdrücke in jedem der aufgelisteten Kriterien bearbeiten, neue Kriterien hinzufügen, Kriterien neu ordnen oder Kriterien im DB-Filter löschen. Nachdem Sie die Änderungen fertiggestellt haben, klicken Sie auf OK. Die Daten aus der DB werden automatisch in StyleVision neu geladen, um den Änderungen im DB-Filter Rechnung zu tragen.
Löschen eines DB-Filters
Um einen DB-Filter zu löschen, wählen Sie das Element, für das der DB-Filter gelöscht werden soll, im Design-Fenster oder in der Schema-Struktur aus. (Es gibt für jedes Datentabellenelement auf oberster Ebene einen DB-Filter.) Klicken Sie anschließend auf Datenbank | DB-Filter löschen. Der Filter wird daraufhin gelöscht und das Filtersymbol wird nicht mehr neben dem Namen des Elements in der Schema-Struktur angezeigt.