Wie kann ich spezielle, komplexe Filter definieren?
Das Reporting-Tool “Standard-Export” erlaubt das Exportieren von Rohdaten aus vorbereiteten Tabellen (oder “Views” auf bestimmte Tabellen). Dabei kann via User-Interface auch die entsprechende Filter-Konfiguration vorgenommen werden:
Diese Filter werden aus den wählbaren Spalten, dem gewählten Operator und dem Suchbegriff zusammengesetzt.
In vielen Fällen reichen diese Filter-Einstellungen, und man kann sich die gewünschten Filter zusammenklicken.
Sollte dies aber nicht mehr ausreichen, da die Filter-Formulierung zu komplex wird, kann der Filter manuell um SQL-Anweisungen ergänzt werden:
Im Hintergrund läuft eine SQL-Datenbank, welche mit Standard-SQL abgefragt werden kann.
Dabei ist zu beachten, dass der “Filter-Query”-Teil als SQL-WHERE
-Klausel benutzt wird:
Aus dem Filter
fall_eroeffnet_am >= '2023-01-01' AND fall_eroeffnet_am <= '2023-04-01'
wird schlussendlich das folgende vollständige SQL:
SELECT * FROM v_rep_falldaten
WHERE
fall_eroeffnet_am >= '2023-01-01' AND fall_eroeffnet_am <= '2023-04-01'
Sie können somit als Filter-Query beliebig komplexe SQL-WHERE
-Anweisungen formulieren.
Bitte beachten Sie:
Die Formulierung einer eigenen Abfrage erfordert technisches Verständnis sowohl von SQL sowie von den zugrundeliegenden Tabellen / Views! Ohne Studium des Datenmodells von BISO resp. Rückfrage mit uns können Sie diese Funktionen nicht oder nur experimentell nutzen!
Beispiel:
Als Beispiel möchten wir alle Fälle aus dem Jahr 2023 auflisten, welche von einer weiblichen Beraterin durchgeführt wurden, und mind. 2 Termine aufweisen:
/* Datums-Filter: */
fall_eroeffnet_am >= '2023-01-01' AND fall_eroeffnet_am <= '2023-12-31'
/* weibliche Beraterin: */
AND (berater_id IN (SELECT id FROM person WHERE geschlecht = 'f'))
/* mind 2 Termine */
AND id IN (SELECT beratungsfall_id FROM bf_termin GROUP BY beratungsfall_id HAVING count(*) >= 2)