Inhaltsverzeichnis

Daten filtern (Filter)

Eine grundlegende Beschreibung zur Anwendung von einfachen Filtern finden Sie im zugehörigen Kapitel der Einführung.

Kleine Ergänzung: UND bindet stärker als ODER

Zuerst werden die Und-Verknüpfungen ausgewertet - ein Mathematiker würde sie in Klammern schreiben -, dann erst die Oder-Verknüpfungen.

Es geht hier um 2 Bedingungen:

1) Schüler, die die Klasse 6a besuchen und als zweite Fremdsprache Französisch gewählt haben.

2) Schüler der ganzen Schule, die als zweite Fremdsprache Latein gewählt haben.

Ins Ergebnis kommen die Schüler, die die erste oder die zweite Bedingung erfüllen.

Dort finden wir also neben den „Französisch-Schülern“ (2. FS) der 6a die „Latein-Schüler“ (2. FS) der ganzen Schule.

Komplexe Filter und Dialogfenster

Zunächst muss im Reiter Information ein komplexer Filter erstellt werden. Der Reiter Filterdefinition sieht jetzt so aus:

Die Zeilen sollten nach der ersten Spalte (Nummerierung) sortiert sein.

Dialogfenster: Haken in der Spalte „Dialog (D…)“ und „Dialogtext“ für die Frage eingeben, die dann angezeigt wird.

„Vergleichsfeld“ kann über einen Dialog ausgewählt werden. „Vergleichswert“ darf nicht leer sein, auch wenn ein Dialog verwendet wird. # steht für keinen Eintrag.

Hier können Bedingungen auch geklammert werden: Klammer in die Spalte (.. bzw. ..) eingeben.

Leerzeilen können Fehlermeldungen verursachen.

Beispiel für einen komplexen Filter anhand der Kammerzugehörigkeit

Als nützliches Beispiel eignet sich die Kammerzugehörigkeit (IHK, HWK, etc.) Dabei gehen Sie wie folgt vor:

1) Legen Sie einen neuen Filter an unter DateiVerwaltungAuswahlfilterbibliothekNeuen Datensatz hinzufügen

2) Wählen Sie im Dropdown-Menü den komplexen Filter aus

3) Legen Sie die Filterdefinition fest

4) Tragen Sie beim Vergleichswert Ihren Code (Groovy) ein. Im Falle der Filterung nach IHK-M-OBB:

def strReturn = "";
if (obj?.getAusbildung() != null) {
	if (obj?.getAusbildung().getBetriebBerufPerson() != null) {
		def objPersonList = obj?.getAusbildung().getBetriebBerufPerson().getBetriebBerufPersonAusbildungsberufList();
		if (objPersonList != null) {
			objPersonList.each() { objPerson ->
				if (objPerson.getWlBbig() != null) {
					strReturn += objPerson.getWlBbig().getKurzform()
				}
			}
		}

	}
}
if (strReturn  == "IHK-M-OBB") {
   return true;
} else {
   return false;
}

5) Speichern und Filter anwenden