ORACLE BI bietet zur Darstellung von Berichten Dashboards und Dashboard/Register-Seiten an. Bei zunehmender Anzahl von Berichten wird diese Darstellung sehr unübersichtlich.


Sitemap

Eine Möglichkeit Berichte dynamisch, gruppiert und berechtigungsgesteuert anzuzeigen, ist die Verwaltung in Datenbank-Tabellen. Die Tabellen werden in ORACLE BI eingebunden und über die SESSION Variablen USER und ROLE wird der Zugriff gesteuert.Mittels Answer wird ein normaler tabellarischer Bericht erstellt, dieser wird in einem Menü-Dashboard (Register-Seite) für den Anwender zugänglich gemacht.

Über den im Bericht angezeigten Link wird der entsprechende Bericht geöffnet.

 

Die Pflege der Inhalte erfolgt über eine separate Maske z.B. ORACLE APEX.

 

Tabellen-Struktur

Es sind zwei Tabellen notwendig:

1) Tabelle: SITEMAP

Die Tabelle SITEMAP enthält die Informationen zum Bericht.

z.B.
Dashboard: Verkauf
Dahsboard Page: Umsatz
URL: ?Dashboard&PortalPath=/shared/Dashboard/_portal/Ums%c3%a4tze&Page=Top 10 Kunden
Bereich: Verkauf
Berichtsname: Top 10 Kunden
Bezeichnung: Top 10 Kunden
Beschreibung: Umsätze der Top 10 Kunden von Januar bis zum abgeschlossenen Vormonat.

 

Die Spalte Bereich kann genutzt werden, um verschiedene Themenbereiche oder Fachbereiche voneinander zu trennen, z.B. Bereich Verkauf, Bereich Einkauf, Bereich FiBu, Geschäftsleitung oder Umsatzberichte, Artikelberichte, Kundenberichte.

2) Tabelle: SITEMAP_GROUP

Die Tabelle SITEMAP_GROUP enthält Berechtigunsinformatione, wie GRUPPE oder USER. Z.B. Gruppe: Verkauf

Die beiden Tabellen stehen in folgender Bezeihung und werden über die Schlüssel SIT_ID und SIG_SIT_ID (FK) verknüpft.

 

BI Metamodell: Physical Layer

Nach Anlage der Tabellen, wird im Admin-Tool auf physikalischer Ebene zwei SITEMAP Views angelegt. Eine zweite Dummy View ist notwendig, da ein Star-Schema zwingend notwendig ist.

1) View: SITEMAP (Fakten-View)

SELECT 1 AS DUMKEY, 
    A.SIT_ID, 
    A.SIT_SORT, 
    A.SIT_BEZEICHNUNG AS REPORT_NAME, 
    A.SIT_DASHBOARD, 
    A.SIT_DASHBOARD_PAGE, 
    '<a href="' || A.SIT_URL || '">' || A.SIT_BERICHTSNAME || '</a>' AS HTTP_LINK, 
    A.SIT_BESCHREIBUNG, 
    B.SIG_USER_GROUP, 
    A.BEREICH
FROM SITEMAP A
JOIN SITEMAP_GROUP B ON A.SIT_ID = B.SIG_SIT_ID
WHERE A.AKTIV = 1 
  AND B.AKTIV = 1

2) View: SITEMAP-DummyDimension (Dimensions-View)

SELECT 1 AS DUMKEY, 'dummy' AS description FROM DUAL

Beide Views werden über die Spalte DUMKEY verknüpft.

 

BI Metamodell: Business Layer

Die Geschäftsmodellschicht wird wie folgt modelliert:

Die Prüfung der Berechtigung für die Gruppenprüfung und der Benutzerprüfung erfolgt in der Source SITEMAP unter Inhalt wird eine WHERE-Klausel mit angegeben, z.B.

LOCATE("DP_DWH_COMMON"."".""."SITEMAP".„SIG_USER_GROUP",  VALUEOF(NQ_SESSION.ROLES)) > 0 OR  
(
LOCATE("DP_DWH_COMMON"."".""."SITEMAP".„SIG_USER_GROUP",  VALUEOF(NQ_SESSION."USER")) = 1 AND  LENGTH("DP_DWH_COMMON"."".""."SITEMAP".„SIG_USER_GROUP") =  LENGTH( VALUEOF(NQ_SESSION."USER"))
) OR  
LOCATE('BIAdministrator',  VALUEOF(NQ_SESSION.ROLES)) > 0 OR  VALUEOF(NQ_SESSION."USER") = 'weblogic'

VALUEOF(NQ_SESSION.ROLES) liefert einen String mit dem User zugewiesenen Rollen getrennt mit einem Semikolon, z.B. BIAdministrator; BIAuthor; Geschäftsführung. Die LOCATE-Funktion prüft, ob der String in der Zeichekette vorhanden und liefert bei vorhandensein den Wert 1 zurück.  Der BIAdministrator und der User weblogic sollen in unseren Beispiel immer volle Berechtigung auf alle Menü-Punkte habe.

 

BI Metamodell: Presentation Layer

Die Präsentationsschicht wird wie folgt modelliert:

 

Answer: Sitemap Bericht

Die Menüs werden wie normale Berichte erstellt. Sitemap steht als Themenbereich in Answer zur Verfügung. Pro Bereich wird ein Bericht erstellt.

 

Beim URL Attribut ist es wichtig Enthält HTML-Markup anzuhaken.

 

 Soll vor der Menü-Zeile noch ein Icon erscheinen, so kann dies wie folgt angegeben werden.

 Das Ausblenden des kompletten Abschnittes im Dashboard, erfolgt über die Abschnittsbedingung.

 

Tipps:

Berichte liegen in der Regel auf Dashboards und deren Register-Seiten. Hier ist es empfehelenswert immer alle Registerseiten über die Eigenschaften auszublenden. Beim Aufruf über eine URL wird dann nur die URL-Seite eingeblendet!

Die Sitemap kann für Mehrsprachigkeit jederzeit erweitert werden.

Beispiel:

Tabelle: SITEMAP beinhaltet zwei Spalte

SIT_BESCHREIBUNG_DE

SIT_BESCHREIBUNG_EN

Im Physical Layer wird der View wie folgt geschrieben:

SELECT
...
    BESCHREIBUNG_VALUEOF(NQ_SESSION.WEBLANGUAGE) AS BESCHREIBUNG, 
...
FROM SITEMAP
...

VALUEOF(NQ_SESSION.WEBLANGUAGE) liefert je nach Login das Sprachkürzel z.B. DE-Deutsch; EN-Englisch. Entprechend wird das im Select substituiert.