Datenfilter bei Objekten

Über die Eigenschaft Datenfilter bei Berichtscontainer-Elementen können Sie eben-falls eine Filterbedingung definieren. Nur die Datensätze, die diese Bedingung erfüllen, werden im Objekt bzw. Element ausgegeben.

Dabei wird die Filterbedingung – je nach Datenquelle und Applikation - auf Kompatibilität mit dem Datenbanksystem geprüft und dann u. U. ganz oder teilweise dort aus-geführt. Dies kann zu einem erheblichen Geschwindigkeitsgewinn führen.

Es werden 3 Varianten unterschieden:

1.  Volle Kompatibilität zur Datenbank: Viele Funktionen können vollständig in native Datenbankanweisungen übersetzt werden. Sollte die Datenquelle z. B. ein SQL-Server sein, können viele Operatoren und Funktionen unterstützt werden (Left$, Right$, Mid$, Round, StartsWith, EndsWith, Contains, Upper$, Lower$, Year, Month, Day, Len, Empty, DateInRange, NumInRange, Artim$, Ltrim$, RTrim$). Microsoft SQL Server unterstützt noch einige zusätzliche Funktionen wie AddDays, AddWeeks etc.

Abbildung 7.21: Ausdruck kann direkt übersetzt werden

2.  Teilkompatibilität zur Datenbank: D. h. ein Teil des Ausdrucks kann übersetzt, ein anderer Teil (der mit "and" verkettete) kann nicht übersetzt werden. In diesem Fall wird der unterstützte Teil in eine native Datenbankanweisung übersetzt, während der nicht unterstützte Teil durch den Berichtsgenerator gefiltert wird.

Abbildung 7.22: Ausdruck kann teilweise übersetzt werden

3.  Keine Kompatibilität zur Datenbank: Die Filterung erfolgt durch den Berichtsgenerator. In diesem Fall sollten Sie versuchen, die Filterbedingung auf eine unterstützte Syntax zu ändern.

Abbildung 7.23: Ausdruck kann nicht übersetzt werden