Agenda
• Modellierung für WEN?
• Zugriff auf nicht DWH-Quellen• Schweineohren
• Alias-Tables
• Fakten auf unterschiedliche Ebenen / Berechnungen
• Opaque Views
• Einbindung Oracle OLAP
• Lokalisierung
• Writeback
Informationszugriff zu jeder Zeit an jedem OrtEine Plattform, Ein Modell, Mehrere Wege der Bereitstellung
Ad-hoc-Analyse
InteraktiveDashboards
ProaktivesAufdeckenund Alarme
MS Office-& Outlook-Integration
Reporting & Publishing
Analysen in Offline& mobil
OLTP & ODSSysteme
Data WarehouseData Mart
SAP, OraclePeopleSoft, Siebel,
Eigenentwicklungen
DateienExcelXML
Business-Prozess
Multidimensionale Kalkulation und Integration
Integrierte Security, Benutzerverwaltung, Personalisierung
Intelligente Generierung von Anfragen und Services für einen optimierten Datenzugriff
Essbase
Common Enterprise Information Model
Analysenmit
Essbase
Daten-integration
Oracle BI ServerEinfach, Leistungsstark, Intelligenz Quellenübergreifend
Open SQL Interface
Oracle BI EE PresentationServices
Andere 3rd
Party Tools
• Oracle BI Server
Native RDBMS• Oracle• SQL Server• DB2• Teradata
ODBC
Multidimensional• XMLA• Oracle OLAP Option• MS Analysis Services• SAP BW
Andere• XML,• Excel• Text
• Simplified Business View• Unified Metadata• Intelligent Caching• Advanced calculations• Aggregate navigation & creation• Federated query and integration• Optimized SQL / function shipping
• Vereinfachte Sicht mithilfe von
Business-Modellen
• Fortschrittliche Engine für
Kalkulation & Integration
• Intelligente Generierung von
Anfragen und Services für einen
optimierten Datenzugriff
• Hohe Skalierbarkeit und
Performance
• Grundlage für alle Presentation
Services von OBIEE
Modellierung für WEN?
• Fortgeschritten ist relativ...
• Aktuelles Projekt:• Drei Monate Entwicklungszeit (BI Server und Frontend)
• Kontinuierliche, punktuelle Unterstützung bei Problemen
• Problem im Frontend: zwei Kennzahlen nicht gleichzeitig darstellbar
• Zwei Sekunden: Löschen des gesamten Repositories und aller darauf basierenden Berichte
• Zwei Tage intensives Hands-On und Problembehebung
• Alle Berichte neu, viel Stress (Messe!),etc
• Standard-Tutorial deckt nur Standardfall ab!
Zugriff auf DWH-Quellen
• Easy-Going:• Basis ist ein Star-Schema
• ausgebildeten Dimensionen
• Foreign-Keys
• Qualitätsgesichert
• Ziel ist ein Star-Schema...
Zugriff auf DWH-Quellen
• Vorgehensweise• Importieren der Quellen, inkl. Foreign-Keys (NEU in 10.1.3: OCI
Import)• Drag&Drop aller Dimensionen und Fakten ins Business Layer
• logische Verknüpfungen werden übernommen• Tabellen werden als Dimensionen und Fakten erkannt
• Dimensionen anlegen• Aggregationen setzen, Abgeleitete Kennzahlen definieren,
Umbennenen• Drag&Drop in Presentation Layer
• Fertig!• Realität?
•(schon: im Presales)
Zugriff auf nicht-DWH (nicht Star)
• Operatives Modell
• Aggregationstabellen
• Snowflake
• Oracle OLAP Cubes
Herausforderungen
• PRODUCT_INFORMATION hat Hierarchieinformationen als „Schweineohren“
• Verschiedene Faktentabellen
Schweineohr, Lösung BLRange/Brand
parent tables will only be included in SQL queries when they are needed!
• Eine LTS mit drei Tabellen (PT)
• WICHTIG: PT müssen gejoined sein!
Logische Faktentabellen
• In einem 3NF Modell wird es selten vorkommen, dass alle Fakten aus einer einzigen Faktentabellen gelesen werden können
• Anders als bei logischen Dimensionstabellen werden bei LTS alle Joins stets ausgeführt, auch wenn diese gar nicht notwendig wären
• Vorschlag: zusätzliche Logical Table Sources (LTS) anlegen, selbst wenn augenscheinlich überfüssig, um Joins zu vermeiden!
Diese LTS enthält zwei Tabellen, ist
also teurer
Nur verbunden mit einer Tabelle, also schneller in
Berichten, in denen nur “# Orders” und “Order Total”
genutzt werden
Opaque Views
• Nachteile:• Nicht immer performant!
• SQL wird komplexer
• Schlechter zu beguggen
• Es gibt Wege drumrum
• Lassen sich „materialisieren“ (View wird in DB angelegt)
Cross-Database Joins
• Vorteile:• Datenquellen übergreifende Analysen erstellen
• Kann sonst fast keiner
• Nachteile:• Kann langsam sein, keine großen Tabellen nutzen!
• Ggfls. Driving-Table verwenden • statt einem großen Join über beide Tabellen im BI Server werden
pro Eintrag in der Driving-Table kleine Abfragen gegen die zweite Tabelle mit WHERE... Abgesetzt
• Alternative (manchmal, wenn beides gleiches RDBMS):• Unterschiedliche Tabellen von unterschiedlichen Benutzern lassen
sich in einen Ordner der PL verwenden
Cross-Database Joins
• Mehrere Quellen markieren und dann Physical Diagram aufrufen
• Join wie üblich definieren
• Im Business Diagramggfls Driving Table auswählen
Berechnungen in PL oder BL?
• Klar:
•Sales = Units * Price
•Produkt1 + Produkt2 = Produktgruppe A
• Bsp1: Produkt1: 100Stk * 1,3€ = 130€ Umsatz
• Bsp2: Produktgruppe A: wie lautet der Gesamtumsatz?
•100Stk Produkt 1 à 1,3€ und 200Stk à 1,7€
•Alternative 1: Summe Stk=300; Avg Preis (1,3+1,7/2)=1,5 also 300*1,5 = 450€ ?
•Alternative 2: 100*1,3 + 200*1,7 = 470€ !
Oracle OLAP
• (Leider) kein direkter Zugriff per OLAP API / MDX auf Oracle Cubes
• Zugriff erfolgt über relationale Views• Erstellbar aus AWM
• Spezielle Konfigurationsschritt in BI EE
• Deutlicher Performancegewinn gegenüber rein relationalen Modellen
• Berechnungen sollten in OLAP erfolgen
• Durch neue Expression kann Berechnungsdefinition in BI EE erfolgen, die Berechnung aber in OLAP
Beispiel: Select Amount, % Chg Prior Period and % Chg Prior Year
SELECT amount,
amount_pct_chg_pp,
amount_pct_cht_py,
category_category_desc,
org_level2_desc,
time_year_desc,
time_quarter_desc
FROM expense_cubeview
WHERE CATEGORY_LEVEL = ‘CATEGORY' and
TIME_LEVEL = ‘QUARTER' andorg_level = 2 and
org_level2_desc in
('Northeast Region',
'Western Region')
Um beste Performance zu erreichen, muss die Query Filter auf jede einzelnen
Dimensionslevel enthalten.Also muss BI EE so konfiguriert werden, dass
diese Filter generirt werden!
OLAP: Anforderung an die Query
OLAP im BL: Zerlegung Fakten/Dims
2) Dimensionen
Mit OLAP gibt esdieses Attribut
immer!
“Level”Indikator
OLAP im BL: DimensionenFür jede Ebene eine LTS in jeder Dimension (für die Ebenenbestimmung)
“Channel” istfür “Total”level nichtrelevant
3) Eine LTS für jede Ebene
Ebene isthard-coded
OLAP, letzter SchrittVerbingund von Ebene in der “Pinning” Dimension und der Dimension
5) BI EE Security setzen (für jede Fakten- und Dimensionstabelle)
Diese Bedingungwird in jeder
Abfrageangefügt.
Muss gleich sein
ACHTUNG: Benutzer darf nicht in der “Administrator”Gruppe sein, sonst wird die Bedingung ignoriert!
OLAP in BI EE
Beispiel : Bericht braucht Daten auf “Channel” Ebene
gleich
SELECT ……
FROM ……
WHERE CHANNEL_LEVEL =‘CHANNEL’ ��
Lokalisierung
• Was geht:• Applikation selbst
• Spalteninhalte
• Spaltenbeschriftungen
• Texte in Dashboards / Answers etc.
• Was geht nicht• Administrator
• ODBC Treiber
• Ggfls. weitere Admin-Werkzeuge
Lokalisierte Komponenten (DE)
1. Application Metadata
2. Web Catalog Metadata
3. Repository Metadata
4. Multilingual Data
Lokalisierte Komponenten (EN)
1. Application Metadata
2. Web Catalog Metadata
3. Repository Metadata
4. Multilingual Data
Dateneingabe
• Was geht:• Eingabe in vorher definierten Spalten im Dashboard / Answers und
Speicherung in beliebiger Tabelle
• Eingabe eines Wertes in vordefinierten Element und Nutzung dessen in
• Überschriften, Berechnungen, Schwellwerten
• Was geht nicht• BI EE ist keine Planungsapplikation!
• Keine Validierung
• Genutzt für• Kommentare, What-If, Einfache Eingaben ohne Validierung
Dateneingabe: Präsentationsvariablen
• Dashboardprompt wird zum Eingabewert
• Genutzt für What-If, Berechnungen, Eingabe von Schwellwerten für Color-Coding, Überschriften etc.
Dateneingabe: Writeback
• „Echtes“ Zurückschreiben in Tabellen
• Voraussetzung• Connection Pool muss das erlauben (auch der Benutzer!)
• Caching muss für die betreffende Tabelle ausgeschaltet sein
• Datenmodell entsprechend anpassen (DB und BI!)
• Template erstellen und dann Presentation Server neu starten
• Gute Idee: kein Zurückschreiben auf die „Ist“-Daten
Writeback: Template
• Tipp: erst Answers Query erstellen und in Tabelle Writeback aktivieren, dann erscheinen Spaltennamen (c1, c2 etc)
• Template: XML Datei im Verzeichnis „oracle\OracleBIData\web\msgdb\customMessages”
• Nach der Definition PresServer neu starten, Datei wird automatischgelesen!
• Struktur:<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
<WebMessage name="InsertFC1">
<XML>
<writeBack connectionPool="SQL_Paint">
<insert>INSERT INTO P_FACT_FC (PERKEY,PRODKEY,MKTKEY,SZENKEY,UNITS_FC) VALUES(@{c2},@{c1},@{c0},@{c3},@{c5})</insert>
<update>UPDATE P_FACT_FC SET UNITS_FC=@{c5} WHERE PERKEY=@{c2} AND
PRODKEY=@{c1} AND MKTKEY=@{c0} and SZENKEY=@{c3}</update>
</writeBack>
</XML>
</WebMessage>
</WebMessageTable>
</WebMessageTables>
Dateneingabe: Writeback
• Definition:• Query in Answers erstellen
• Tabellen-Ansicht wählen
• Die Tabelle zum Zurückschreiben aktivieren und Template angeben
• „Wertinteraktion“ auf „Writeback“ setzen
Top Related