Meine Meinungen, Anmerkungen, Tipps und alles was mir sonst so zum Thema Business Intelligence, Data Warehouse und ETL noch einfällt.
Affiliate
Posts mit dem Label 11g werden angezeigt. Alle Posts anzeigen
Posts mit dem Label 11g werden angezeigt. Alle Posts anzeigen
7. Dezember 2012
Bücher zu Oracle Business Intelligence 11g
Vor kurzem gab es gleich zwei Neuerscheinungen zur Oracle
Business Intelligence 11g. Das eine Buch geschrieben von u.a. von Adrian Ward aus
den USA, das zweite dann aus England, geschrieben von Mark Rittman.
6. November 2012
Buch 'Oracle Business Intelligence Enterprise Edition 11g' - Mein erster Eindruck
2. Oktober 2012
Die Charts fehlen im OBIEE 11g im individuellen Skin
Nach dem Update auf die Version 11.1.1.6.2BP1 fehlten in meinem individuellen Skin mit einem Male die Charts in der Darstellung. Keine Fehlermeldung, nix - nur eine weiße Fläche an der Stelle wo der Chart angezeigt werden sollte.
Die Ursache findet sich dann schnell und ist hier in „Charts in BI not rendering after applying OBIEE 11.1.1.6.2BP1“ beschrieben.
19. September 2012
Fehlermeldung im Answers bei Umbennung der Subject area im Presentation layer
Beim ändern der Bezeichnung einer Subject area im Admintool bekam ein Kunde diese Fehlermeldung im Answers statt der Anzeige der Themenbereiche im Baum auf der linken Seite:
"Es fehlt die Berechtigung zur Benutzung der xs mit Answers oder die subject area existiert nicht."
Verwirrung, hatte das Admintool doch keinen Fehler angezeigt.
Mit der Suche auf englisch:
“Either you do not have permission to use the subject area SUBJECT AREA NAME within Answers, or the subject area does not exist.”
bin ich dann auf diesen Blogeintrag Rename Subject Area in Presentation Layer – OBIEE 10g/11g gekommen und da stand dann die Lösung:
Einfach im Answers auf dem Advanced tab den subject area Namen im XML korrigieren und mit 'set XML' bestätigen.
Alles wieder gut. Hilfreich ist auch das löschen des Browser-Caches :-)
Update:
Danke an Christian Berg (@Nephentur) für seinen Hinweis. Solche Umbenennungen sollte man immer über den Catalog Manager in der Admin-Sicht machen!
"Es fehlt die Berechtigung zur Benutzung der xs
Verwirrung, hatte das Admintool doch keinen Fehler angezeigt.
Mit der Suche auf englisch:
“Either you do not have permission to use the subject area SUBJECT AREA NAME within Answers, or the subject area does not exist.”
bin ich dann auf diesen Blogeintrag Rename Subject Area in Presentation Layer – OBIEE 10g/11g gekommen und da stand dann die Lösung:
Einfach im Answers auf dem Advanced tab den subject area Namen im XML korrigieren und mit 'set XML' bestätigen.
Alles wieder gut. Hilfreich ist auch das löschen des Browser-Caches :-)
Update:
Danke an Christian Berg (@Nephentur) für seinen Hinweis. Solche Umbenennungen sollte man immer über den Catalog Manager in der Admin-Sicht machen!
OBIEE Analyse per iFrame integrieren
Gewünscht war es eine OBIEE Analyse aus einem Fremdportal heraus anzuzeigen. Auf dem Weg zur Lösung sind wir nach und nach zu den folgenden Teilen gekommen.
Per GoURL kann man Analysen mittels einer URL aufrufen. Der Aufbau einer solchen URL in Kurzform:
Diese GoURL kann dann in ein kleines Javascript eingebaut werden:
<HTML>
<head>
</head>
<BODY>
<iframe src="http://'server name':7001/analytics/saw.dll?GO&NQUSER='login user'&NQPASSWORD='password'&Path=/shared/.../'report name'&ViewName=compoundView!1&Options=drf&Action=Navigate&" width="100%"height="100%" >
</iframe>
</BODY>
</HTML>
Damit die BI-Suite die Analyse in einem iFrame anzeigt sind diese Anpassungen auf dem Server vorzunehmen:
1. In der Datei "instanceconfig.xml"
([OBIEE_HOME]\instances\instance1\config\OracleBIPresentationServicesComponent\coreapplication_obips1\) ist der folgende Eintrag im zu ergänzen. Erlaubte Werte sind 'allow', 'prohibit' und 'sameDomainOnly'.
<Security>
<InIFrameRenderingMode>allow</InIFrameRenderingMode>
<!--This Configuration setting is managed by Oracle Business Intelligence Enterprise Manager-->
<ClientSessionExpireMinutes>210</ClientSessionExpireMinutes>
</Security>
2. ist in der Datei "web.xml" ([OBIEE_HOME]\oracleBI1\bifoundation\web\app\WEB-INF\) noch diese Ergänzung vorzunehmen. Der Wert 'never' bedeutet hier, dass der BI-Server niemals den Aufbau in einem iFrame blockieren soll. Alternativ kann hier auch der Wert 'differentDomain' eingetragen werden und damit den Aufbau in einem iFrame nur innerhalb der selben Domain erlauben.
<servlet-mapping>
<servlet-name>RelatedContent</servlet-name>
<url-pattern>/RelatedContent</url-pattern>
</servlet-mapping>
<context-param>
<param-name>oracle.adf.view.rich.security.FRAME_BUSTING</param-name>
<param-value>never</param-value>
</context-param>
<login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>
Quellen:
zum Thema GoURL:
OBIEE - The Go URL to manage Answers
OBIEE Go URL Command to access Reports and Dashboards from External Portals or Applications
About the Oracle BI Presentation Services GO URL in der Oracle Dokumentation
zu Javascript:
Frame Aufruf per Javascript
zur iFrame Ausgabe:
OBIEE 11g: "OBIEE content cannot be displayed in an IFrame"
OBIEE content can not be displayed in the iframe [ID 1336401.1] aus MyOracle Support
Per GoURL kann man Analysen mittels einer URL aufrufen. Der Aufbau einer solchen URL in Kurzform:
- Beginnt immer mit "http://server/analytics/saw.dll?GO"
- Nun kommen die Angaben für das Login an der BI-Suite mit NQUSER und NQPASSWORD. Da steht dann also alles im Klartext! Ergo benutzt man hier besser einen gesonderten User mit eingeschränkten Rechten allein auf die erlaubte Analyse.
- Dann folgt mit Path die Angabe wo die gewünschte Analyse im Presentation Server gespeichert ist und der Name der Analyse. Aufpassen, bei deutscher Spracheinstellung verwirrt es ein wenig da der Path /shared/ enthalten kann, was in der 'deutschen' Oberfläche aber als 'Gemeinsamer Ordner' angezeigt wird.
- Mit 'ViewName=compoundView!1' bedeutet die angeforderte Sicht soll im Portal angezeigt werden. Den ViewName findet man im Answers beim 'Advance Tab' im dort angezeigten XML-Code.
- Die 'Options=drf' bedeuten, dass in der Analyse unter der Ausgabe Links eingefügt werden sollen für: d – download to Excel, r – refresh results, f – printer friendly.
- 'Action=Navigate' sagt dem Go URL Kommando, dass wir in der Analyse navigieren wollen.
- Und so weiter und so fort, je nach Anwendungsfall könne auch Parameter übergeben werden und weiter Einstellungen in der GoURL verwendet werden. Schaut einfach mal in die Dokumentation dazu.
Diese GoURL kann dann in ein kleines Javascript eingebaut werden:
<HTML>
<head>
</head>
<BODY>
<iframe src="http://'server name':7001/analytics/saw.dll?GO&NQUSER='login user'&NQPASSWORD='password'&Path=/shared/.../'report name'&ViewName=compoundView!1&Options=drf&Action=Navigate&" width="100%"height="100%" >
</iframe>
</BODY>
</HTML>
Dieses Script wird auf dem Server des Fremdportals abgespeichert und kann in dem Portal per Aufruf-Link dann ausgeführt werden. Das Javascript wird so dann ausgeführt, meldet sich über die GoURL bei der BI-Suite an und startet die gewünschte Analyse. Das Ergebnis dieser Analyse erscheint dann in einem Frame.
Damit die BI-Suite die Analyse in einem iFrame anzeigt sind diese Anpassungen auf dem Server vorzunehmen:
1. In der Datei "instanceconfig.xml"
([OBIEE_HOME]\instances\instance1\config\OracleBIPresentationServicesComponent\coreapplication_obips1\) ist der folgende Eintrag im
<Security>
<InIFrameRenderingMode>allow</InIFrameRenderingMode>
<!--This Configuration setting is managed by Oracle Business Intelligence Enterprise Manager-->
<ClientSessionExpireMinutes>210</ClientSessionExpireMinutes>
</Security>
2. ist in der Datei "web.xml" ([OBIEE_HOME]\oracleBI1\bifoundation\web\app\WEB-INF\) noch diese Ergänzung vorzunehmen. Der Wert 'never' bedeutet hier, dass der BI-Server niemals den Aufbau in einem iFrame blockieren soll. Alternativ kann hier auch der Wert 'differentDomain' eingetragen werden und damit den Aufbau in einem iFrame nur innerhalb der selben Domain erlauben.
<servlet-mapping>
<servlet-name>RelatedContent</servlet-name>
<url-pattern>/RelatedContent</url-pattern>
</servlet-mapping>
<context-param>
<param-name>oracle.adf.view.rich.security.FRAME_BUSTING</param-name>
<param-value>never</param-value>
</context-param>
<login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>
3. Alle BI-Komponenten sind, über den Enterprise Manager oder die Kommandozeile, neu zu starten.
Quellen:
zum Thema GoURL:
OBIEE - The Go URL to manage Answers
OBIEE Go URL Command to access Reports and Dashboards from External Portals or Applications
About the Oracle BI Presentation Services GO URL in der Oracle Dokumentation
zu Javascript:
Frame Aufruf per Javascript
zur iFrame Ausgabe:
OBIEE 11g: "OBIEE content cannot be displayed in an IFrame"
OBIEE content can not be displayed in the iframe [ID 1336401.1] aus MyOracle Support
Labels:
11g,
Frame,
GoURL,
OBIEE,
TrivadisContent
28. Juni 2012
Dynamischer OWB
Oft sind es kleine, ehr alltägliche Aufgaben, für die man beim OWB dann die Lösung sucht. Irgendwie hat man das meistens schon einmal gemacht, aber nun kommt man gerade nicht mehr drauf. Wie ging das noch mal?
Oft sind die Antworten auch mit Google nicht einfach zu finden, liegen diese dann doch oft stückweise über diverse Blogs und Foreneinträge verteilt vor. Meistens findet man dann seine Antwort, aber das Suchen dauert halt. Deshalb notiere ich für mich selbst hier solche 'Alltäglichkeiten', als persönliche Notiz. Wenn ich damit anderen helfen kann, bitte bedient Euch. Feedback willkommen.
Dynamische Quelltabellen
Das hier beschriebene Vorgehen funktioniert nur, wenn alle betroffenen Quelltabellen die gleiche Datenstruktur haben! Nachteil dabei, dass Mapping kann nicht mehr parallel mehrfach aufgerufen werden!
Wie also nun machen?
Dem Mapping wird ein Parameter (P_ART) übergeben. Dieser Parameter enthält z.B. den Namen oder Namensteile der gewünschten Quelltabelle. Über den PRE-MAPPING-PROCESS wird der Wert dieses Parameters einer Funktion (F_RENAME_SYNONYM) übergeben.
Diese Funktion erstellt bzw. ersetzt in einem Synonym (X_ AUFGABEN) den Verweis auf die gewünschte Quelltabelle.
Das Synonym wurde als Metainformation in den OWB importiert und bei der Erstellung des Mappings als Quelltabelle verwendet.
Zur Laufzeit des Mappings werden die Daten nun aus der jeweiligen Tabelle gelesen, auf das das Synonym zu der Zeit aktuell verweist. So kann dynamisch für jeden Lauf die Quelltabelle gewechselt werden.
Quellen hierzu:
OWB – Reuse Mapping for Different Data Sources
Thread: Dynamically passing the source table name to OWB mapping
Dynamischer Filter
Wird immer mal wieder benötigt, ein Filter für z.B. Aufgaben soll entsprechend eines Parameters (P_ART) sich dynamisch anpassen und so unterschiedlich filtern.
Dazu wird im FILTER-Expression die Bedingung entsprechend angepasst. Hier geschieht das z.B. durch ein CASE Statement, in dem je nach Art (P_ART) unterschiedlich die Daten dann ausgefiltert werden.
Weitere Filterbestandteile sind hier eine Eingrenzung auf den Zeitraum ab 2009, auf ein Land und auf ein FA. Die letzteren beiden wurden ebenfalls per Parameter dem Mapping übergeben.
Der gesamte Filter-Ausdruck wird im Joiner des Mappings dann der WHERE-Bedingung hinzugefügt.
Zur Laufzeit werden die Daten nun dynamisch, je nach Parameterwert, ausgefiltert.
Quelle hierzu:
case expressions and statements in oracle 9i
Auch hier wird dem Mapping ein Parameter (P_ART) übergeben. Dieser Parameter soll nun auch den Namen der Exportdatei in Teilen mitbestimmen. Da alle Exportdateien in das gleiche Verzeichnis geschrieben werden, reicht es hier die Dateinamen bei jedem Ladelauf anzupassen.
Dazu wird in der CONFIGURATION des Mappings bei den FlatFile Einstellungen der Eintrag `||P_ART||‘ vor dem allgemeinen Teil des Dateinamens eingetragen.
Zur Laufzeit wird dieser Parameter dann durch seinen Wert ersetzt und bildet so den entsprechenden Dateinamen, ganz einfach also (sic!)
Quelle hierzu:
Thread: Export Data from Database Table into CSV File with OWB Mapping
Thread: OWB: Flat File Name - Can you use an input parameter
Alle Teile wurden mit dem OWB Version 11.2.0.3 erstellt.
Quelle hierzu:
case expressions and statements in oracle 9i
Dynamische Dateinamen für Exportdateien
Der OWB ist ja in der Lage als Ziel auch eine Datei zu schreiben. Möchte man nun den Dateinamen nicht fest in der CONFIGURATION des Mappings eintragen, sondern dynamisch bilden - aber wie.Auch hier wird dem Mapping ein Parameter (P_ART) übergeben. Dieser Parameter soll nun auch den Namen der Exportdatei in Teilen mitbestimmen. Da alle Exportdateien in das gleiche Verzeichnis geschrieben werden, reicht es hier die Dateinamen bei jedem Ladelauf anzupassen.
Dazu wird in der CONFIGURATION des Mappings bei den FlatFile Einstellungen der Eintrag `||P_ART||‘ vor dem allgemeinen Teil des Dateinamens eingetragen.
Zur Laufzeit wird dieser Parameter dann durch seinen Wert ersetzt und bildet so den entsprechenden Dateinamen, ganz einfach also (sic!)
Quelle hierzu:
Thread: Export Data from Database Table into CSV File with OWB Mapping
Thread: OWB: Flat File Name - Can you use an input parameter
Alle Teile wurden mit dem OWB Version 11.2.0.3 erstellt.
Labels:
11g,
dynamisch,
ETL,
OWB,
TrivadisContent
22. Februar 2012
Create a flat file with multiple characters for enclosures fails on OWB 11g2
Die Aufgabe klingt einfach und sollte den OWB 11g2 vor kein Problem stellen. Sollte man meinen, aber der Reihe nach.
Laut der Dokumentation zum OWB 11g2 ist das zulässig:
Delimiter: ;
Left enclosure: {#{
Right enclosure: }#}
Das läßt sich auch alles im Flat File Dialog eintragen:
Im Mapping, das die Datei schreiben soll, sieht auch alles Bestens aus:
Alles kann wunderbar compiliert und deployt werden. Das Mapping läßt sich starten und läuft dann ohne Fehlermeldung scheinbar sauber durch.
Schauen wir dann aber in die erstellte Datei, dann ist die Verwirrung groß.
Der Inhalt sieht dort dann so aus:
{col1#;{col2#;{col3#;.....
Offenbar verwendet der OWB als Left Enclosure nur das Zeichen { und als Right Enclosure das Zeichen #.
Diese Verhalten ist reproduzierbar. Eine kurze Suche in den gängigen Oracle Foren und per Google brachte mir keine Ergebnisse, dieses Problem scheint noch nirgendwo einer gehabt zu haben.
Also ran an den Oracle Support, der auf meinen SR dann 21 Tage (sic) mit mehreren Rückfragen benötigte, um sich auch von diesem Verhalten zu überzeugen und dann eine Bug dafür zu erstellen.
Bug 13768220 - OWB 11.2 MULTIPLE CHARACTERS FOR ENCLOSURES DOES NOT WORK WHEN WRITING TO FILE
Fortsetzung folgt...
Update:
Im Test hat es mit der Änderung im deployten package des Mappings funktioniert. Ich musste an vier Stellen die Symbole für den Left und Right enclosure ändern und dann erfolgte die gewünschte die Ausgabe in der Datei.
Umständlich, aber fürs erste machbar.
Update II:
Nun ist es offiziell:
Laut der Dokumentation zum OWB 11g2 ist das zulässig:
Enclosures (Left and Right): Some delimited files contain enclosures that denote text strings within a field. If the file contains enclosures, enter an enclosure character in the text box or select one from the list. The list displays common enclosures. However, you may enter any character. The default for both the left and right enclosure is the double quotation mark ("). You can specify multiple characters and hexadecimal characters as field enclosures.Im Projekte sollte der Inhalt einer Tabelle vom OWB als CSV-Datei geschrieben werden. Dabei sind folgende Definitionen einzuhalten:
Delimiter: ;
Left enclosure: {#{
Right enclosure: }#}
Das läßt sich auch alles im Flat File Dialog eintragen:
Im Mapping, das die Datei schreiben soll, sieht auch alles Bestens aus:
Alles kann wunderbar compiliert und deployt werden. Das Mapping läßt sich starten und läuft dann ohne Fehlermeldung scheinbar sauber durch.
Schauen wir dann aber in die erstellte Datei, dann ist die Verwirrung groß.
Der Inhalt sieht dort dann so aus:
{col1#;{col2#;{col3#;.....
Offenbar verwendet der OWB als Left Enclosure nur das Zeichen { und als Right Enclosure das Zeichen #.
Diese Verhalten ist reproduzierbar. Eine kurze Suche in den gängigen Oracle Foren und per Google brachte mir keine Ergebnisse, dieses Problem scheint noch nirgendwo einer gehabt zu haben.
Also ran an den Oracle Support, der auf meinen SR dann 21 Tage (sic) mit mehreren Rückfragen benötigte, um sich auch von diesem Verhalten zu überzeugen und dann eine Bug dafür zu erstellen.
Bug 13768220 - OWB 11.2 MULTIPLE CHARACTERS FOR ENCLOSURES DOES NOT WORK WHEN WRITING TO FILE
As a possible temporary workaround you can edit the deployed package to change to code that would look like :
BEGIN
UTL_FILE.PUT("MY_EMAIL_BOOK_Fh",
'[' ||
"MY_EMAIL_BOOK_0_EM_NAME"(i) ||
'[' ||
',' ||
'[' ||
"MY_EMAIL_BOOK_1_EM_MAIL"(i) ||
'['
with something like :
FOR i IN "MY_EMAIL_BOOK_si".."MY_EMAIL_BOOK_i" - 1 LOOPBEGIN
UTL_FILE.PUT("MY_EMAIL_BOOK_Fh",'[[' ||"MY_EMAIL_BOOK_0_EM_NAME"(i) ||']]' ||',' ||'[[' ||"MY_EMAIL_BOOK_1_EM_MAIL"(i) ||']]'
note : when testing the workaround I could find 2 occurrences of that code.
The bug will go through screening process before being assigned to development.
with something like :
FOR i IN "MY_EMAIL_BOOK_si".."MY_EMAIL_BOOK_i" - 1 LOOP
BEGIN
UTL_FILE.PUT("MY_EMAIL_BOOK_Fh",
'[[' ||
"MY_EMAIL_BOOK_0_EM_NAME"(i) ||
']]' ||
',' ||
'[[' ||
"MY_EMAIL_BOOK_1_EM_MAIL"(i) ||
']]'
note : when testing the workaround I could find 2 occurrences of that code.Erstaunt war ich dann über die Aussage:
The bug will go through screening process before being assigned to development.
Please also note that only one set of left and right characters can be used.Das steht so nicht in der Dokumentation und die Oracle Datenbank ist sehr wohl in der Lage zwischen Left und Right Enclosure zu unterscheiden. Wieso sollte der OWB das dann nicht können? Die Antwort darauf steht (noch) aus.
Fortsetzung folgt...
Update:
Im Test hat es mit der Änderung im deployten package des Mappings funktioniert. Ich musste an vier Stellen die Symbole für den Left und Right enclosure ändern und dann erfolgte die gewünschte die Ausgabe in der Datei.
Umständlich, aber fürs erste machbar.
Update II:
Nun ist es offiziell:
The bug successfully passed the Screening/diagnosis process and have been assigned to development. The bug should be available for monitoring in MyOracle.Bug 13768220: OWB 11.2 MULTIPLE CHARACTERS FOR ENCLOSURES DOES NOT WORK WHEN WRITING TO FILE
24. Juni 2010
Oracle Business Intelligence 11g – Launch
Am 7./8. Juli stellt Oracle in Frankfurt und München die neue Suite Oracle Business Intelligence 11g vor. Trivadis wird an beiden Tagen durch Kollegen von mir vertreten sein.
Die neue 11g Version bringt viele Fortschritte, wie wir im Rahmen des Beatprogramms bereits feststellen konnten. Schaut es Euch einem der Termine direkt an und diskutiert mit meinen Kollegen vor Ort.
Oder lasst Euch individuell von uns beraten, was mit dem OBIEE möglich ist und was speziell mit der neuen 11g Version an Funktionalitäten hinzu gekommen ist.
Zur Anmeldung:
7. Juli Frankfurt
8. Juli München
Die neue 11g Version bringt viele Fortschritte, wie wir im Rahmen des Beatprogramms bereits feststellen konnten. Schaut es Euch einem der Termine direkt an und diskutiert mit meinen Kollegen vor Ort.
Oder lasst Euch individuell von uns beraten, was mit dem OBIEE möglich ist und was speziell mit der neuen 11g Version an Funktionalitäten hinzu gekommen ist.
Zur Anmeldung:
7. Juli Frankfurt
8. Juli München
Abonnieren
Posts (Atom)