Facetten-Suche ohne Assistenten

02.
November
2020
Veröffentlicht von: Martina Meiszies

Seit Version 19.2 gibt es mit Faceted Search die Möglichkeit, über „Facets“ Filter zu setzen, die auch die Anzahl der Vorkommen anzeigen. Setzt man die Facets, wird sofort ein zugehöriger klassischer Bericht aktualisiert und zeigt die gefilterten Daten an. In der Dokumentation wird beschrieben, wie mit Hilfe der Assistenten dieses Feature angelegt werden kann. Aber auch ohne Assistenten ist das sehr einfach und schnell erledigt. Dieser Artikel zeigt ein kurzes Beispiel.

Voraussetzung:

In diesem Tipp werden das Beispiel-Schema Scott und die Tabellen Emp und Dept benutzt.

So können Sie eine manuelle Facetten-Suche anlegen

In Apex wird eine neue leere Seite mit dem Seitentemplate "Left Side Column" angelegt. Es werden aus den Regionen ein "Klassischer Bericht" in den "CONTENT BODY" und das Element "Facet-Suche" in "LEFT COLUMN" gezogen:
(Natürlich könnte man auch ein anderes Seiten-Template verwenden und die Facet-Suche anders platzieren.)

APEX_search


Der Bericht „Angestellte“ soll die Angestellten und ihre Abteilungen anzeigen. Er ist vom Typ SQL-Abfrage:

select e.empno, e.ename, e.job, m.ename as manager, e.sal, d.deptno, d.dname, d.loc
from emp e, dept d, emp m
where e.deptno = d.deptno
   and e.mgr = m.empno(+);


Außerdem hat er folgende Template-Optionen:

apex-template

Die Spalten empno und deptno werden im Bericht ausgeblendet und die Spaltenüberschriften angepasst.

Die Facet-Suche „Suche“ benutzt als Quelle die Gefilterte Region „Angestellte“:

apex-facet-search


Es werden in der Facet-Suche Facets erstellt, dazu klickt man die rechte Maustaste, wenn man sich auf Facets befindet:

apex-facets

Es soll möglich sein, nach Mitarbeitern, Job, Manager, Gehalt, Abteilung und Standort zu suchen. Es sind verschiedene Facets-Typen wie Auswahlliste, Bereich, Kontrollkästchen, Optionsgruppe oder Suche möglich. Der Mitarbeiter, der Job, die Abteilungen und der Ort sollten über ein Suchfeld gefunden werden. Außerdem könnten Job, Manager, Abteilungen und Standorte per Kontrollkästchen ausgewählt werden. Das Gehalt sollte in einem Bereich auswählbar sein.

Die erste Facette P75_SUCHE ist für die Suche nach Mitarbeitern, Job, Abteilung und Standort und deshalb vom Typ „Suche“. Damit kann man eine textbasierte Suche durchführen. Es kann in einer Facet-Suche aber nur einmal dieser Typ vorkommen.

Die Datenbankspalten und Quellen sind ENAME,JOB,DNAME,LOC.
(Zwischen den Spalten und Kommas darf sich kein Leerzeichen befinden, sonst klappt die Suche nicht mehr.)

null


In der gleichen Art und Weise werden die anderen Facets angelegt:

null

Sie verweisen in „Quelle“ auf die jeweiligen Datenbankspalten des klassischen Berichts und haben den Typ „Kontrollkästchen“.


Bei Gehalt wird der Typ „Bereich“ statt Kontrollkästchen ausgewählt und statische Werte festgelegt:

null

null

null


Voila, das war es schon. Mit diesen Schritten hat man bereits eine Facetten-Suche angelegt:

null


Beim Gehalt kann man sogar den Bereich und damit die Daten noch weiter einschränken:

null

Möchte man das nicht, sollte man die „Manuelle Eingabe“ ausschalten.

Man kann noch vieles mehr verfeinern und sollte einfach die Eigenschaften der Facets ausprobieren.


Sie planen eine APEX-Anwendung und benötigen Unterstützung? Unsere APEX-Spezialisten helfen gerne bei der Konzeption und Umsetzung, kontaktieren Sie uns einfach.

Jede Menge Know-how für Sie!

In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.