Vous êtes sur la page 1sur 60

Oracle OLAP,

Cube-organized Materialized Views &


Analyse mit Application Epress
!c"ritt #$r !c"ritt
!tand% &&'()'*((+
!eite% &,-(
Oracle OLAP,
Cube-organized Materialized Views &
Analyse mit Application Epress
- !c"ritt #$r !c"ritt -
&' Ein#$"rung''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''.
*' /nstallation 0atenban1 &&g & 2ools''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''3
*'& Voraussetzungen'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''3
*'* /nstallation der 0atenban1''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''3
*'. OLAP AP/ starten'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''')
*'3 /nstallation Application Epress 4APE56''''''''''''''''''''''''''''''''''''''''''''')
*'7 /nstallation der 0emodaten'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+
*'- /nstallation des Oracle Analytic 8or1space Manager 4A8M6'''''''''''&&
.' Au#bau des Analytic 8or1space 4A86''''''''''''''''''''''''''''''''''''''''''''''''''''''&.
.'& Anlegen der 0imensionen'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''&3
.'&'& 0imension C"annel''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''&7
.'&'* 0imension 9eit'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''&+
.'&'. 0imension Produ1t, :unde''''''''''''''''''''''''''''''''''''''''''''''''''''''''**
.'* Anlegen des Cubes'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''*3
.'. Abgeleitete :ennza"len ; berec"nete <elder'''''''''''''''''''''''''''''''''''.(
3' Cube-organized Materialized Views'''''''''''''''''''''''''''''''''''''''''''''''''''''''''.7
3'& A1ti=ierung der <un1tionalit>t''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''.7
3'* P#lege der !tatisti1en''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''.?
3'. 0aten in den Cube laden''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''.)
3'3 @eispielab#rage zum 2esten der Per#ormance''''''''''''''''''''''''''''''''''3*
3'3'& !1ript o"ne Auery Bewrite%''''''''''''''''''''''''''''''''''''''''''''''''''''''''3*
3'3'* !1ript mit Auery Bewrite%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''3.
7' OLAP @eric"te% 0aten=orsc"au und Analyse mit APE5''''''''''''''''''''''''''3.
7'& Vorsc"au der 0atenin"alte im A8M'''''''''''''''''''''''''''''''''''''''''''''''''3.
7'* Oracle Application Epress als Analyse-<rontend''''''''''''''''''''''''''''37
7'*'& 8or1space einric"ten'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''37
7'*'* @eric"t erstellen'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''3-
7'*'. Anzeigeoptionen und <ormatierung'''''''''''''''''''''''''''''''''''''''''''3+
7'*'3 0rill-0own'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''7*
7'*'7 0rill-Cp'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''7-
-' 9usammen#assung'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''-(
!eite% *,-(
%& Ein#$"rung
0as 0o1ument soll mit einem durc"g>ngigen @eispiel au#zeigen, wie
ein#ac" mit der in der 0atenban1 integrierten OLAP Engine gearbeitet
werden 1ann' AuDerdem wollen wir die Me"rwerte der a1tuellen OLAP
Version &&g au#zeigen' Vor allem im Einblic1 au# die Ver1n$p#ung mit der
relationalen 8elt in <orm der Materialized Views 4MViews6'
9un>c"st ge"en wir 1urz au# die /nstallation der &&g 0atenban1 ein, mit
der auc" gleic"zeitig die OLAP Engine installiert wird' 0anac" installieren
wir das @eispieldatenmodell, das auc" Frundlage #$r =iele OLAP 0emos
in den o##iziellen Oracle2utorials ist'
9um tie#eren Verst>ndnis der OLAP Option auc" im :ontet eines 0ata
8are"ouses sind zwei 0o1umente aus der o##iziellen 0atenban1-0o1u-
mentation zu emp#e"len%
@*)&*3-(* OLAP CsersGs Fuide und @*).&.-(* 0ata 8are"ouse Fuide'
8eitere /n#ormationen zum :ennenlernen =on Oracle OLAP #inden sic" im
Oracle 2ec"nology Hetwor1 4O2H6 und dort =or allem in den 2utorials '
!eite% .,-(
'& (nstallation )atenban* %%g & +ools
2.1 Voraussetzungen
0ie benItige !o#tware 1ann unter den "ier genannten Lin1s "erunter-
geladen werden'
Oracle 0atenban1 &&g Bel' & #$r 8indows .* @it%
J9/P K &'? F@ - entpac1t &') F@ ; installiert 3'+ F@L
Optional 1ann noc" Patc" &&'&'('? appliziert werden, der $ber Oracle
!upport 4Metalin16 er">ltlic" ist'
Oracle Application Epress .'*
J9/P K &(( M@L
Entwic1lungswer1zeug der 0atenban1
Oracle Analytic 8or1space Manager , Beadme
J9/P K &&7 M@L
<rontend zum Au#bau und P#lege der Analytic 8or1spaces und Cubes
OLAP ; @eispiel 0atenmodell , Beadme
J9/P K . M@ - entpac1t &? M@L
OLAP 0o1umentation
2.2 Installation der Datenbank
/m <olgenden ist die /nstallation in :$rze in <orm =on Abbildungen der
/nstallationsroutine do1umentiert' @itte beac"ten !ie die aus#$"rlic"en
Angaben im /nstallations"andbuc"' Heben der !o#tware installieren wir
eine @eispieldatenban1, die alle benItigten <un1tionalit>ten bein"altet'

!eite% 3,-(
Voraussetzungen #$r die /nstallation werden gepr$#t'
0er Con#iguration Manager ermIglic"t die Verbindung =on Administra-
tions1onsole und Oracle Metalin1 4Oracle !upport6' 0as brauc"en wir #$r
unsere @eispielumgebung nic"t'
!eite% 7,-(
/n der Mbersic"t der zu installierenden Produ1te #inden sic" auc" die
Produ1te der OLAP-Option'
9un>c"st wird die 0atenban1so#tware installiert'
!eite% -,-(
0anac" wird die @eispiel-0atenban1 erstellt'
!eite% ?,-(
0ie /nstallation ist abgesc"lossen' 0ie wic"tigsten /n#ormationen #$r den
9ugri## werden in der 9usammen#assung des /nstallers noc" einmal
dargestellt'
0ie 0atenban1 ist im Ansc"luss an die /nstallation gestartet' !ie 1Innen
den 9ugri## $ber das mitgelie#erte 8er1zeug Oracle !AL 0e=eloper oder
!ALPlus testen'
2.3 OLAP API starten
0ie bei der /nstallation eingeric"tete 0atenban1 arbeitet im sog' !"ared
!er=er Modus' Me"rere @enutzer teilen sic" einen oder me"rere 0aten-
ban1prozesse' /n diesem 9usammen"ang ist es im Vor#eld notwendig, die
OLAP AP/ gezielt zu a1ti=ieren' 8ir stoDen sonst sp>ter bei Ab#ragen an
den OLAP !er=er =or allem in der Mbung mit Oracle Application Epress
au# die <e"lermeldung%
ORA-37118: The OLAP API library was not preloaded
9ur Vermeidung muss ein 0atenban1parameter angepasst werden%
SQL alter syste! set "_xsolapi_load_at_process_start"#AL$A%S de&erred'
<$r diese Nnderung brauc"en !ie 0@A-Bec"te'
2.4 Installation Application Epress !APE"#
Oracle Application Epress 4APE56 ist ein 8er1zeug zur Erstellung =on
datenban1zentrisc"en Anwendungen' 0as 8er1zeug zur Anwendungs-
erstellung und die Lau#zeitumgebung zur Aus#$"rung be#inden sic" in der
0atenban1' 0er 9ugri## er#olgt $ber einen normalen 8eb-@rowser' 0ie
!eite% ),-(
da#$r notwendige 8eb-2ec"ni1 ist eben#alls @estandteil der 0atenban1'
0ialoge, @eric"te und Fra#i1en lassen sic" assistentengetrieben au#
ein#ac"e 8eise erstellen' Aus#$"rlic"e /n#ormationen zum Produ1t #inden
!ie $ber die deutsc"e Oracle Application Epress !eite im /nternet'
8enn !ie den 0emoleit#aden 1omplett durc"arbeiten, erstellen !ie in
einem sp>teren !c"ritt einen @eric"t mit einem !AL-!tatement, das
gegen den OLAP !er=er l>u#t' 0azu ist eine a1tuelle APE5 Version
notwendig' APE5 ist in der 0atenban1 bereits in einer >lteren Version
installiert, da wir eine =or1on#igurierte 0atenban1 #$r unsere @eispielum-
gebung gew>"lt "aben' 0iese 1Innen wir rec"t ein#ac" durc" die neue
Version ersetzen'
0a es doc" einige manuelle !c"ritte gibt, die bei der /nstallation zu
be#olgen sind, mIc"ten wir an der !telle au# das /nstallations"andbuc"
=erweisen' Alles was unter dem Pun1t .'. ste"t, ist #$r unsere Cmgebung
maDgeblic"' 0arin sind =or allem #olgende Pun1te rele=ant 4alles andere
ist weniger wic"tig6%
Download and Install Oracle Application Express
Change the Password for the ADMIN Account
Configure the Embedded PL!"L #atewa$
About %unning Oracle Application Express in Other Languages
:on#igurieren !ie das Embedded-PlsOl-Fateway der 0atenban1 als
8ebser=er' AuDerdem wollen wir eine 1omplette Entwic1lungsumgebung
installieren'
2.$ Installation der De%odaten
Hac" dem Entpac1en des 9/P-<iles, be#indet sic" im Verzeic"nis ein !AL-
/nstallations-!1ript, ein !1ript zur 0einstallation des @eispielsc"emas, ein
0atenban1eport und eine Beadme' /m Cnter=erzeic"nis PtemplateQ sind
5ML 0ateien abgelegt, die bei der Erstellung des OLAP Cubes in den
weiteren Au#gaben dienlic" sein werden' 0as 0MP-<ile ist ein 0atenban1-
eport' Mit i"m wird das !tar-!c"ema in der 0atenban1 erstellt und 0aten
geladen'
Cm die /nstallation durc"zu#$"ren, starten !ie das /nstallationss1ript $ber
ein !AL-<rontend, z'@' !AL Plus oder !AL-0e=eloper' !ie brauc"en dazu
0atenban1-Adminrec"te' /n !AL Plus &'(L) *global+11g+install,-
0abei die Angabe des Arbeits=erzeic"nisses im 8er1zeug nic"t
=ergessen'
0er 0@-@enutzer FLO@AL wird angelegt' 0as Passwort #$r den @enutzer
wird w>"rend der /nstallation abge#ragt und gesetzt' Ebenso wird die
/mportroutine und das <ile global&''g&source(dmp au#geru#en'
!eite% +,-(
!o starten !ie die /nstallation mit !AL Plus' @ei der /nstallation werden !ie
nac" dem Passwort #$r den @enutzer #LO)AL ge#ragt bzw' mit der
Angabe wird es bei der /nstallation gesetzt'
0ie /nstallation sollte wie abgebildet enden'
<olgende ObRe1te sind nun im !c"ema des @enutzers #LO)AL%
/m @eispielsc"ema sind =ier 0imensionen 4Channel* Customer* Product
und +ime6, zwei <a1tentabellen 4,nits und Price6 und zwei alternati=e
!eite% &(,-(
Eierarc"ien zu den 0imensionen Customer und Product abgebildet'
2.. Installation des Oracle Anal/tic 0orkspace 1anager !A01#
Es gibt untersc"iedlic"e MIglic"1eiten, das 8er1zeug zu installieren' 9um
einen ist es mit der Oracle Client !o#tware pa1etiert' 9um anderen gibt es
das Produ1t einzeln, was auc" die /nstallation star1 =erein#ac"t' Es ist
dabei 1ein Oracle /nstaller notwendig' /st das 9ip-<ile entpac1t, werden die
0ateien ein#ac" an eine beliebige !telle im <ilesystem 1opiert und =on dort
aus mit dem Sa=a-Lau#zeitsystem in Verbindung gebrac"t bzw' ausge#$"rt'
0as setzt =oraus, das im Vor#eld zumindest eine SBE Version &'7 au# dem
Bec"ner installiert wurde' 0er @e#e"l #$r den Au#ru#
(a)a -!*+1,! --.ser/lan0.a0e#de --.ser/re0ion#1S -(ar aw!11/1/2/7/23/(ar
1ann in eine 'bat 0atei au# den 0es1top eingebunden werden' Hic"t
=ergessen% das !tart-,Arbeits=erzeic"nis des !"ortcuts sollte au# dem
/nstallationsp#ad des A8M liegen, damit das 'Rar-<ile ge#unden wird'
8enn !ie den A8M mit der Oracle Client !o#tware installieren wollen,
ge"en !ie wie #olgt =or%
!tarten !ie den Oracle /nstaller und w>"len !ie als eine MIglic"1eit die
/nstallationsart Administrator' 0er A8M 1ann auc" gezielt $ber die
benut-erdefinierte /nstallation ausgew>"lt werden'
!eite% &&,-(
0ie Oracle Client !o#tware 1ann in das selbe OBACLE-Eome, wie die 0@
installiert werden' Es wird dann ein Cnter=erzeic"nis ''Tclient& angelegt'
0ie /nstallation der !o#tware-Cmgebung ist damit abgesc"lossen'
!eite% &*,-(
,& Au#bau des Analytic -or*space .A-/
0as gra#isc"e 8er1zeug Analytic 8or1space Manager 4A8M6 ist #$r das
Erstellen und P#lege des Analytic 8or1space zust>ndig'
Hac" dem !tarten des 8er1zeuges muss zun>c"st die
0atenban1=erbindung de#iniert werden'
0ie Verbindungsin#ormation setzt 1eine tnsnames'ora 0atei au# dem Client
=oraus' 0ie 0atenban1 wird dire1t $ber S0@C 2"in Client angesproc"en'
Eigent$mer des A8 und damit des OLAP Cubes soll der @enutzer
#LO)AL sein' 0en Cube-2yp stellen !ie au# die Version &&g 40e#ault6,
damit wir die Materialized View <un1tionalit>t nutzen 1Innen'
!eite% &.,-(
0er !tartpun1t zum Anlegen eines A8 sie"t dann wie abgebildet aus'
0as Anlegen gesc"ie"t $ber die rec"te Maustaste' 0a=or positionieren !ie
sic" au# den Ordner Analytisc"e 8or1spaces'
0er 8or1space stellt den Ba"men #$r alle weiteren ObRe1te dar, die wir
anlegen' /nner"alb eines 8or1spaces 1Innen =ersc"iedene 0imensionen,
Cubes und :ennza"len erzeugt und =erwaltet werden'
0er Au#bau er#olgt im 8esentlic"en in drei !c"ritten' /m ersten !c"ritt wird
das logisc"e multidimensionale Modell aus 0imensionen, Cubes und
:ennza"len erstellt' /m 9weiten =erbindet man die p"ysisc"en Auellen mit
dem OLAP Modell' /m #inalen !c"ritt werden die 0aten geladen und im
Cube werden die Aggregate berec"net' 0'"' z'@' !ummen werden entlang
der Eierarc"ien #$r Auartals- oder Sa"reswerte berec"net'
9un>c"st erstellen wir also die Metain#ormation zur multidimensionale
!tru1tur des A8 ; #lobal(
/m =or"andenen relationalen !tarsc"ema eistieren =ier 0imensionen und
zwei <a1ten' 9uerst legen wir die 0imensionen des Cubes an'
0er Au#bau des zugrunde liegenden 0atenmodells ist in der 0o1umen-
tation des #lobal !chemas der Version &('* gut besc"rieben'
"ttp%,,www'oracle'com,tec"nology,products,bi,olap,BeadmeUFlobalU!ampl
eU!c"ema'"tml
3.1 Anlegen der Di%ensionen
0imensionen besc"reiben und 1ategorisieren die :ennza"len im Cube'
Entlang der 0imensionsattribute werden die :ennza"len au#bereitet'
/m A8 1Innen me"rere Cubes de#iniert sein' Eine 0imension 1ann sic"
au# me"rere Cubes bezie"en' Fleic"e 0imensionen m$ssen also nic"t
me"r#ac" angelegt werden' 0ie 0e#initionen werden ein#ac" gemeinsam
genutzt'
!eite% &3,-(
3.1.1 Di%ension 23annel
0ie 2abelle C.ANNEL&DIM bein"altet 0aten, die eine Eierarc"ie mit zwei
Ebenen abbildet - Absatz1an>le und die !umme der Einzelwerte als
Fesamtwert' 0azu gibt es @esc"reibungsspalten'
Au#bau der 2abelle C.ANNEL&DIM
/n"alt der 2abelle C.ANNEL&DIM' Es gibt drei Auspr>gungen des
Absatz1anals 40ire1t, :atalog und /nternet6 und eine Fesamtbetrac"tung
42otal6'
0iese 0imension werden wir nun im A8M anlegen' Mit der rec"ten
Maustaste 1lic1en !ie au# Dimension und dann im Men$ au# Dimension
erstellen' /n den Eigensc"a#ten tragen !ie den Hamen Channel ein' Alles
weitere belassen !ie au# den 0e#aultwerten'
!eite% &7,-(
Erstellung der 0imension Channel'
/m Ansc"luss die oben besc"riebenen Ebenen anlegen'
Absat-/anal als erste Eierarc"iestu#e 4Ebene6'
!eite% &-,-(
#esamt als zweite Ebene 4+otal6'
Als weiteren !c"ritt de#inieren wir die Eierarc"ie, die diese Ebenen =ereint'
Legen !ie die Eierarc"ie wie dargestellt an' Es ist wic"tig, dass !ie die
Bei"en#olge der Ebenen ein"alten 4=om EIc"sten zum Hiedrigsten6'
!eite% &?,-(
@etrac"ten !ie die angelegten /n#ormationen im @aumna=igator' !ie
">tten zus>tzlic" die MIglic"1eit, #$r Rede Ebene weitere Attribute zu
p#legen' Automatisc" sind zwei @esc"reibungsattribute de#iniert, die sic"
au# Rede Ebene bezie"en'
0amit sind die Metadaten der 0imension Channel besc"rieben'
0ie =orige @esc"reibung der Vorge"ensab#olge besagt nun, die 0uord1
nung zum relationalen !tarsc"ema =orzune"men'
8ie abgebildet, ersc"eint durc" das An1lic1en der !tru1tur 0uordnungen
im @aum au# der rec"ten !eite ein weiterer Editor mit untersc"iedlic"en
9uordnungssic"ten' 8>"len !ie die gra#isc"e Mapping-!ic"t' 0urc"
0oppel1lic1 oder 9ie"en der 2abelle C.ANNEL&DIM im !c"ema #LO)AL
im mittleren <enster ersc"eint diese im rec"ten Editor' Setzt 1Innen !ie
gra#isc" durc" :lic1en und 9ie"en die Ver1n$p#ung der einzelnen <elder
=orne"men'
!eite% &),-(
Sede Ebene "at die zwei genannten @esc"reibungsattribute% Long und
!hort Description' 0iese 1Innen #$r die untersc"iedlic"en Ac"sen eines
@eric"tes =erwendet werden' Als 9eile z'@' die Long Description und als
!palte die !hort Description' 8ir =erwenden #$r beide <elder die selbe
Auelle'
3.1.2 Di%ension 4eit
8ir erstellen die 0imension 0eit'
!eite% &+,-(
0ie 9eitdimension "at einen eigenen Dimensionst$p' 0iesen m$ssen !ie
bei der 0e#inition ausw>"len'
0amit werden auc" automatisc" =ier Attribute #$r die einzelnen Ebenen
angelegt'
0ie zus>tzlic"en 0e#ault-Attribute ermIglic"en 9eitrei"en=ergleic"e
entlang der Perioden z'@' Cmsatz=ergleic" mit dem VorRa"r, Vorperiode,
prozentuale Abweic"ungen etc''
0ie da#$r notwendigen 0aten sind in der 2abelle +ime&Dim ent"alten'
!eite% *(,-(
Heben dem :alenderRa"r ist in der 2abelle auc" eine zweite Eierarc"ie
besc"rieben n>mlic" das =om :alenderRa"r abweic"ende <is1alRa"r'
Eine solc"e 9eittabelle 1ann $brigens das 8er1zeug Oracle -are"ouse
0uilder erzeugen'
<$r unser @eispiel =erwenden wir aussc"lieDlic" das :alenderRa"r'
9un>c"st erstellen wir die "Ic"ste Eierarc"iebene ; eine @etrac"tung
aller :alenderRa"re' 0anac" de#inieren wir au# gleic"e 8eise die Ebenen
2ahr* "uartal und Monat' 0etailliertere 0aten sind in der 2abelle +ime&Dim
nic"t =or"anden'
Hun 1Innen wir die Eierarc"ie 3alender erstellen' Auc" "ier ist wieder die
Bei"en#olge der ausgew4hlten Ebenen zu beac"ten'
!eite% *&,-(
Setzt ist auc" die !paltenzuordnung zu den dimensionalen OLAP
!tru1turen mIglic"'
!ie 1Innen das durc" das gra#isc"e Mapping-8er1zeug mac"en oder wie
abgebildet $ber die tetlic"e 9uordnung' 9ie"en !ie aus der 2abelle
2/MEU0/M die gew$nsc"ten !palten in die "uellspalte im rec"ten Editor
3.1.3 Di%ension Produkt5 6unde
@ei der 0e#inition der 0imension Produ/t und 3unde w>"len wir eine
alternati=e Vorge"ensweise' 0er A8M erlaubt uns die automatisierte
Erstellung der OLAP Metastru1turen mittels 2emplate' Ein 2emplate ist
eine 5ML 0atei, die die !tru1tur einer A8 :omponente besc"reibt' 8ir
1Innten so einen A8 auc" 1omplett $ber ein einziges 2emplate au#bauen
lassen'
!eite% **,-(
Ein :lic1 mit der rec"ten Maustaste $ber dem Element Dimensionen
erI##net die MIglic"1eit, ein 2emplate zu laden'
0ie 2emplates sind 2eil der mitgelie#erten 0emodaten' Ein#ac" das
2emplate-Verzeic"nis ausw>"len und die 0atei #$r die :unden-0imension
I##nen'
0ie 0imension Customer wird nun aus der Vorlage erstellt' Auc" die
9uordnungen zur @asistabelle ist de#iniert'
Mit den 2emplates l>sst sic" der Erstellungsau#wand minimieren' Vor allem
beim wieder"olten Au#bau der !tru1turen z'@' #$r den 2est- und
Produ1tionsbereic"' AuDerdem werden in der Begel me"rere OLAP
!tru1turen au#gebaut und =erwaltet' /mmer wieder1e"rende 0e#initionen
sind so sc"nell erledigt'
!eite% *.,-(
Setzt #e"lt noc" die 0imension Product' Fe"en !ie genau so =or, wie bei
der 0imension Customer'
Hun sind alle benItigten 0imensionen de#iniert' Es #e"lt nur noc" das
Eerzst$c1 des !ystems ; der Cube'
3.2 Anlegen des 2ubes
/n der zugrunde liegenden @eispielumgebung sind zwei <a1tentabellen
=or"anden% P%ICE&5AC+ ent">lt Preise und :osten und ist nac" Produ1t
und 9eit gegliedert' 0ie 2abelle ,NI+!&5AC+ ent">lt den Cmsatz, :osten
und die Mengen'
Ein Cube ist die 9usammen#assung aller :ennza"len, die dieselbe
0imensionalit>t besitzen' !o sind =er1au#te Mengen und Cmsatz beide
=on :unde, Produ1t, Absatz1anal und 9eit ab">ngig' 0er Preis allerdings
ste"t in unserem <all nur mit dem Produ1t und der 9eit in Verbindung' 0as
bedeutet% w$rde das @eispiel weiterge#$"rt, sollte ein weiterer Cube
de#iniert werden'
0ie untersc"iedlic"en :ennza"len lieDen sic" dem Anwender unab">ngig
=on der !tru1turde#initionen im !er=er $ber einen :ennza"lenordner zur
Ver#$gung stellen'
!eite% *3,-(
0er Preis und die Produ1t1osten in der 2abelle P%ICE&5AC+'
0er Cmsatz, Mengenabsatz und :osten sind nac" allen =ier 0imensionen
ausgeric"tet'
Cube 1msatz
0ie Vorge"ensweise beim Anlegen des Cubes untersc"eidet sic" 1aum
=on der der 0imensionen' 9un>c"st wird der Cube erstellt, dann die
ab">ngigen 0imensionen zugeordnet'
!eite% *7,-(
!ie =ergeben den Hamen und die @ezie"ung zu den 0imensionen'
/m zweiten 2ab 1Innen =ersc"ienene Aggregationen angegeben werden
und auc" 0imensionen aus der Aggregation ausgesc"lossen werden'
!eite% *-,-(
0ie 2abs Partitionierung und Materiali-ed 6iews sollten so belassen
werden und im 2ab !peicherung sollte die Option der globalen
0usammenset-ung ausgew>"lt werden' 0ies bedeutet, dass der Cube nur
die :ombinationen =on 8erten speic"ert, die auc" wir1lic"' 0a nic"t Reder
:unde Redes Produ1t in Redem Absatz1anal erwirbt, reduziert das die zu
speic"ernde 0atenmenge' 9udem 1ann "ier auc" die 3omprimierung
ausgew>"lt werden'
0er Cube ist de#iniert' Setzt erstellen wir die :ennza"len,FrIDenwerte
,msat-* 3osten und Menge'
!eite% *?,-(
Aus diesen :ennza"len lieDen sic" ansc"lieDend auc" zus>tzlic"e
berechnete 3enn-ahlen ableiten' 9un>c"st aber die 9uordnung der 0aten
aus der <a1tentabelle zum Cube'
!eite% *),-(
<$r die 9uordnung w>"len wir die 2abelle ,NI+!&5AC+'
0ie 9uordnung der Elemente zeigt sic" dann wie abgebildet'
!eite% *+,-(
3.3 Abgeleitete 6ennza3len 7 berec3nete 8elder
/n unserer A8-0e#initon eistieren bereits die :ennza"len ,msat-, 3osten
und Menge, die aus der <a1tentabelle =ersorgt werden' AuDerdem lie#ert
uns die OLAP 2ec"ni1 die gesamten Aggregationen entlang der
Eierarc"ieebenen der 0imensionen sozusagen #rei Eaus' Setzt 1Innen wir
aber zus>tzlic" aus dem reic"en !c"atz der analytisc"en <un1tionen der
OLAP Engine sc"Ip#en' Cm#angreic"e @erec"nungen, die sic" sonst nur
au#w>ndig oder gar nic"t in !AL abbilden lieDen, 1Innen $ber die !AL
>"nlic"e !prac"e OLAP 0ML de#iniert werden'
8ir legen 3 :ennza"len an%
a6 Cmsatzerbringung seit Sa"resbeginn 4Cmsatz V206
b6 Cmsatz seit Sa"resbeginn im Vergleic" zum VorRa"r 4Cmsatz V20
PV6
c6 Prozentuale Abweic"ung Cmsatz seit Sa"resbeginn im Vergleic"
zum VorRa"r 4Cmsatz V20 PV PC2 CEF6
d6 Cmsatzbewertung im Vergleic" zum VorRa"r 4Cmsatz=erlau# V206
a/ 1msatz 2+)
/n der Cube-0e#inition gibt es den Ordner )erechntete 3enn-ahlen' 8ir
erstellen eine neue 3enn-ahl $ber das :ontetmen$ der rec"ten
Maustaste'
!eite% .(,-(
Hac"dem !ie die :ennza"l bezeic"net "aben, legen !ie den
)erechnungst$p #est' /n der Listbo se"en !ie eine <$lle =on =orde#i-
nierten @erec"nungsarten auc" im @ereic" des 9eitrei"en=ergleic"s' Es
eistieren Eunderte =on =orde#inierten analytisc"en <un1tionen, die !ie,
o"ne tie#ere :enntnisse der darunterliegenden !prac"e, nutzen 1Innen'
8>"len !ie den )erechnungst$p wie abgebildet aus' 0ie eigentlic"e
@erec"nungsweg ergibt sic" zun>c"st aus einem Pseudocode' Se nac"
@erec"nungstyp werden untersc"iedlic"e @erec"nungsarten =orge-
sc"lagen' 0ie blauen <elder sind =er>nderbar' Passen !ie den Pseudo-
code wie abgebildet an'
0er Assistent generiert aus den Angaben die passende analytisc"e
<un1tion' Hat$rlic" ist es auc" mIglic", die <un1tion dire1t einzugeben
oder sie anzupassen'
b/ 1msatz 2+) P2
0ie Erstellung der n>c"sten :ennza"l =erl>u#t im gleic"en !til' Passen !ie
zun>c"st den )erechnungst$p an und de#inieren !ie ansc"lieDend die
@ezugsgrIDen im Pseudocode
!eite% .&,-(
c/ 1msatz 2+) P2 PC+ C34
Setzt ge"t es um die prozentuale Abweic"ung im Vergleic" zum VorRa"r
seit Sa"resbeginn' @ei der 0e#inition ge"en wir in zwei !c"ritten =or'
9un>c"st die 0e#inition $ber Pseudocode' Ansc"lieDend die Nnderung der
eigentlic"en <un1tion, um die 8erte in ganzen 9a"len anzuzeigen'

/m 9weiten !c"ritt #$gen wir an den An#ang des Ausdruc1s die
Multipli1ation mit der 9a"l Eundert'
!eite% .*,-(
/nteressanterweise se"en wir, wenn wir die :ennza"l $ber den
@aumna=igator ausw>"len, dass sic" der )erechnungst$p durc" die
manuelle Nnderung automatisc" in einen Ausdruc/ gewandelt "at'

!eite% ..,-(
d/ 1msatz5erlau# 2+)
9uletzt noc" eine andere Art =on :ennza"l' 8ir ne"men eine @ewertung
der 9a"len =or, indem wir an"and =on !c"wellenwerten einen besc"rei-
benden 2et ausgeben wollen' 8ir bedienen uns den !prac"1onstru1ten
der OLAP 0ML, um #olgende @edingung auszudr$c1en%
CASE
WHEN UMSATZ.UMSATZ_YTD_PY_PCT_CHG < 0 THEN 'Sehr schlecht'
WHEN UMSATZ.UMSATZ_YTD_PY_PCT_CHG > 15 THEN 'Sehr !t'
E"SE 'G!ter #erl$!%'
END

!eite% .3,-(
6& Cube-organized Materialized Views
4.1 Akti9ierung der 8unktionalit:t
Hun 1Innen wir die Einstellungen #$r die Materiali-ed 6iew =orne"men'
@eide C"ec1boen m$ssen ausgew>"lt sein% Enable Materiali-ed 6iew
und Enable "uer$ %ewrite'
!eite% .7,-(
Hac" dem !peic"ern der Einstellungen erzeugt die OLAP Engine
automatisc" die relationalen 0e#initionen der MViews'
/m !AL-0e=eloper 1Innen wir die angelegten ObRe1te se"en und stellen
#est, dass #$r den Cube eine MView angelegt wurde, aber auc" #$r Rede
0imension und Eierarc"ie'
!eite% .-,-(
4.2 P;lege der 'tatistiken
Eine Voraussetzung #$r die Hutzung der MViews ist die P#lege der
!tatisti1en #$r die @asistabellen' Auc" diesen !c"ritt 1ann man ein#ac" im
!AL-0e=eloper durc"#$"ren'
Mber das :ontetmen$ #ather !tatistics ausw>"len'
0a die 2abellen rec"t 1lein sind, 1Innen wir die '778 ausw>"len'
!eite% .?,-(
4.3 Daten in den 2ube laden
Hun laden wir die 0aten in den Cube' 0azu #$r den Cube im A8M =ia
rec"te Maustaste den Men$pun1t Cube ,msat- 9erwalten ausw>"len'
Ein Assistent #$"rt durc" die =ersc"iedenen Verwaltungssc"ritte'
!eite% .),-(
8elc"e Elemente $ber die de#inierte 9uordnung geladen werden sollen,
1ann man "ier ausw>"len'
0ie :artungsaufgabe soll sofort ausge#$"rt werden und 5ertig 1lic1en'
0er Cube wird be#$llt' 0as "eiDt, die 0aten werden geladen und die
Verdic"tungen,Aggregationen berec"net'
!eite% .+,-(
0ie Logdatei gibt Aus1un#t $ber den !tatus der ausge#$"rten !c"ritte'
/m Ansc"luss 1Innen !ie optional den Materiali-ed 6iew Ad9isor starten'
Positionieren !ie sic" dazu au# den Cube ,msat- im @aum und I##nen !ie
die Begister1arte Materiali-ed 6iews(
!eite% 3(,-(
0er Ad=isor erzeugt ein !AL-!1ript #$r die relationale Crsprungsstru1tur
4!tar-!c"ema6 des A8' Cm mIglic"st die gesamte @andbreite der MView-
<un1tionalit>ten zu nutzen, 1Innen mit dem !1ript /n#rastru1tur-@estand-
teile erg>nzt bzw' neu erstellt werden ; Constraints, /ndizes, relationales
0imensions-ObRe1t, MView Logs etc''
8ic"tig ist die Be=alidierung der Materialized View 4relationales Abbild der
OLAP !tru1tur6 am Ende Reder Nnderung mit dem @e#e"l%
$lter &$ter'$l'(e) *'e+ ,G"-.A",.,C./UMSATZ, c0&1'le2
<$r unser @eispiel brauc"en wir nic"ts zu tun'

!eite% 3&,-(
4.4 <eispielab;rage zu% =esten der Per;or%ance
Als letzten !c"ritt wollen wir die Cube-organized MView au# i"re
<un1tionalit>t testen' 0abei wollen wir den Per#ormance-Fewinn durc"
eine @eispielab#rage unterstreic"en' 0azu "aben wir zwei !1ripte, die
einmal o"ne und einmal mit Auery Bewrite dieselbe Ab#rage analysieren'
4.4.1 'kript o3ne (uer/ >e?rite@
alter session set 4.ery5rewrite5enabled#&alse'
alter session set 4.ery5rewrite5inte0rity#tr.sted'
e*plain plan &or
sele6t s.!7&/.nits89 6/total5ds6 &ro! .nits5&a6t &9 6hannel5di! 6
where 6/6hannel5id # &/6hannel5id
0ro.p by 6/total5ds6'
sele6t : &ro! table7db!s5*plan/display8'
Cnd das Ergebnis des Eplain Plan%
alter session set s.66eeded/
alter session set s.66eeded/
e*plain plan s.66eeded/
PLA;5TA3L<5O1TP1T
-----------------------------------------------------------------------------------------------------------------------
Plan hash )al.e: 337+7=>3?7

-------------------------------------------------------------------------------------
@ Id @ Operation @ ;a!e @ Rows @ 3ytes @ Aost 7BAP18@ Ti!e
-------------------------------------------------------------------------------------
@ 2 @ S<L<AT STAT<C<;T @ @ 1 @ 3, @ 615 738 @ 22:22:28 @
@ 1 @ DASD ERO1P 3% @ @ 1 @ 3, @ =1+ 738 @ 22:22:28 @
@: , @ DASD FOI; @ @ 3 @ ?= @ =1> 738 @ 22:22:28 @
@ 3 @ GI<$ @ G$5E3A5+ @ 3 @ >8 @ =1, 738 @ 22:22:28 @
@ > @ DASD ERO1P 3% @ @ 3 @ ,7 @ =1, 738 @ 22:22:28 @
@ + @ TA3L< AAA<SS H1LL @ 1;ITS5HAAT @ ,??I@ ,=,?I@=22 718 @ 22:22:28 @
@ = @ TA3L< AAA<SS H1LL @ ADA;;<L5-IC @ 3 @ >8 @ , 728 @ 22:22:21 @
----------------------------------------------------------------------------------------------------------------------

Predi6ate In&or!ation 7identi&ied by operation id8:
----------------------------------------------------------------------------------------------------------------------

, - a66ess7"A"/"ADA;;<L5I-"#"IT<C51"8
18 rows sele6ted
!eite% 3*,-(
4.4.2 'kript %it (uer/ >e?rite@
alter session set 4.ery5rewrite5enabled#tr.e'
alter session set 4.ery5rewrite5inte0rity#tr.sted'
e*plain plan &or
sele6t s.!7&/.nits89 6/total5ds6 &ro! .nits5&a6t &9 6hannel5di! 6
where 6/6hannel5id # &/6hannel5id
0ro.p by total5ds6'
sele6t : &ro! table7db!s5*plan/display8'
0as Ergebnis sie"t dann #olgendermaDen aus%
alter session set s.66eeded/
alter session set s.66eeded/
e*plain plan s.66eeded/
PLA;5TA3L<5O1TP1T
-----------------------------------------------------------------------------------------------------------------------
Plan hash )al.e: ??>>,,3?>

-----------------------------------------------------------------------------------------
@ Id @ Operation @ ;a!e @ Rows @ 3ytes @ Aost 7BAP18@ Ti!e @
-----------------------------------------------------------------------------------------
@ 2 @ S<L<AT STAT<C<;T @ @ 1 @ 13= @ 35 7?8@ 22:22:21 @
@ 1 @ DASD ERO1P 3% @ @ 1 @ 13= @ 3+ 7?8 @ 22:22:21 @
@: , @ DASD FOI; @ @ 1 @ 13= @ 3> 7=8 @ 22:22:21 @
@ 3 @ GI<$ @ @ 1 @ 3= @ > 7,+8 @ 22:22:21 @
@ > @ DASD 1;IQ1< @ @ 1 @ ,2 @ > 7,+8 @ 22:22:21 @
@ + @ TA3L< AAA<SS H1LL @ ADA;;<L5-IC @ 3 @ =2 @ 3 728 @ 22:22:21 @
@: = @ A13< SAA; PARTIAL O1T<R@ A3J1CSATK @ ,2 @ ,222 @ ,? 728 @ 22:22:21 @
-----------------------------------------------------------------------------------------

Predi6ate In&or!ation 7identi&ied by operation id8:
---------------------------------------------------

, - a66ess7"&ro!J5s.b4.eryJ5227"/"TOTAL5I-"#S%S5OP5ATE7GAL1<7IOI3HJ891191,9,88
= - &ilter7S%S5OP5ATE7GAL1<7IOI3HJ89,>9,+9,8#1381+8
1? rows sele6ted
0amit ergibt sic" ein PFewinnQ =on -&7 zu .7 4bezogen au# die :osten6'
Ein eindeutiges Ergebnis #$r die Cube-organized Materialized View'
7& OLAP 0eric"te8 )aten5orsc"au und Analyse mit APE9
$.1 Vorsc3au der Datenin3alte i% A01
An dieser !telle sollte noc" 1urz die Vorsc"au#un1tionalit>t beim Erstellen
des Analytic 8or1space erw>"nt sein' Hac"dem die 0atenin"alte in den
OLAP Cube geladen sind, 1ann auc" gleic" das 0atenmaterial inner"alb
des 8er1zeugs Analytic 8or1sapce Manager gesic"tet und =alidiert
werden' Alle :ennza"len, 1Innen !ie au# untersc"iedlic"e Art und 8eise
!eite% 3.,-(
au#bereiten' <$r diesen 0atenabru# brauc"en !ie 1eine spezielle
Ab#ragesprac"e' Se nac" ObRe1t werden die 0aten 1ontetbezogen
optimal automatisc" au#bereitet'
Positionieren !ie sic" mit der Maus im @aumna=igator und mac"en !ie
einen rec"ten Maus1lic1 au# die 0imension Customer' /m Men$ w>"len
!ie den Pun1t Daten Customer an-eigen' 0er 0aten-Viewer I##net sic"
und bildet die "interlegte4n6 Eierarc"ie4n6 ab'
@ei den Cube-0aten =er">lt es sic" anders' Eier ste"en die 0aten in
Belation zu den 0imensionen' 0ie :ennza"len des Cubes 1Innen einzeln
durc" den 0aten-Viewer au#bereitet werden, indem man sic" au# die
Reweilige :ennza"l im @aum positioniert, oder insgesamt, indem !ie den
rec"ten Maus1lic1 au# Cube-Ebene aus#$"ren' 0ie 0aten werden in
Matri#orm au#bereitet - 0rill-down und Pi=oting <un1tionalit>t in1lusi=e'
Auc" gra#isc" 1Innen !ie sic" ein Eindruc1 $ber das 0atenmaterial
=ersc"a##en'
!eite% 33,-(
$.2 Oracle Application Epress als Anal/seA8rontend
0urc" den ser=erseitigen Ansatz =on Oracle OLAP "aben !ie einerseits
einen zentralen #$r die Analyse optimierten Verdic"tungspun1t /"rer
/n#ormationen' Andererseits ste"en /"nen <un1tionalit>ten zur Ver#$gung,
die eben diesem zentralisierten Ansatz gerec"t werden'
OLAP als Analyse- und Planungs-Platt#orm soll einem mIglic"st breiten
Anwendungsspe1trum o##en ste"en' 8as bietet sic" da besser an als das
g>ngige !AL zu nutzen' 0as mac"t die ein#ac"e 9ugri##s- bzw' Abstra1-
tionsebene =on OLAP in <orm relationaler Views mIglic"' @eim Anlegen
der OLAP !tru1tur des A8M werden #$r 0imensionen wie auc" #$r Cubes
relationale Views automatisc" angelegt' 0'"' alle <rontends, die !AL
sprec"en, 1Innen Ab#ragen an den OLAP !er=er #ormulieren'
Ein @eispiel, wie ein solc"es !AL ausse"en 1ann, mIc"ten wir in <orm
eines Application Epress @eric"ts au#zeigen' 0er @eric"t sie"t am Ende
wie #olgt aus%
$.2.1 0orkspace einric3ten
APE5 ist ein zentrales 8er1zeug, das =on untersc"iedlic"en Fruppen
inner"alb einer Organisation genutzt werden 1ann' Es muss also eine
MIglic"1eit geben Arbeitsbereic"e zu sc"a##en, die =oneinander getrennt
liegen' 0ie <un1tion da#$r lie#ert ein 8or1space in APE5' /n einem
8or1space werden Entwic1ler und Anwender, Anwendungen und die
!ic"er"eit drum"erum ge"alten' Ein 8or1space wird =om Eauptadmini-
strator des 8er1zeugs eingeric"tet und 1ann sic" au# ein oder me"rere
@enutzersc"emata in der 0atenban1 bezie"en' Eine Anwendung ist immer
genau mit einem der !c"emata =erbunden 4Parsing !c"ema6'
!eite% 37,-(
8ir ge"en da=on aus das uns sc"on ein 8or1space eingeric"tet wurde
und starten gleic" mit der Anwendungserstellung'
$.2.2 <eric3t erstellen
9un>c"st aut"enti#izieren wir uns an APE5 als Entwic1ler mit den zuge-
wiesenen 0aten des Administrators'

0urc" :lic1en au# das 0reiec1s-/con au# der !c"alt#l>c"e Application
)uilder ge"t es zur eigentlic"en Anwendungserstellung'
Ein Assistent I##net sic", der alles notwendige zur @eric"tserstellung
ab#ragt'
!eite% 3-,-(
0ie durc" einen !tern ge1ennzeic"neten <elder m$ssen eingegeben
werden' Anwendungsname und eindeutige Anwendungsnummer 1Innen
!ie #rei =ergeben' Mit der Hummer 1ann die Anwendung sp>ter =on Redem
beliebigen @rowser gestartet werden' Cnser !c"ema #LO)AL in der
0atenban1 wird als Parsing-!c"ema "interlegt'
8ir ne"men #olgendes !AL-!tatement als @eric"tsgrundlage' /m weiteren
Verlau# passen wir das !tatement weiter an'
S<L<AT
p/lon05des6ription "Prod.Lt"9 -- 3es6hreib.n0 der -i!ensionen
t/lon05des6ription "Keit"9
6/lon05des6ription "A.sto!er"9
.!satM "1!satM"9 -- IennMahlen
.!satM5ytd "1!satM %T-"9
.!satM5ytd5py "1!satM %T- Gor(ahr"9
tr.n67.!satM5ytd5py5p6t56h08 "1!satM %T- P% B"9
tr.n67.!satM5ytd5py5p6t56h08 "Eraph"9
.!satM)erla.&5ytd "1!satM)erla.& %T-"9
t/di!5Ley as ti!e5di!5Ley9 -- -i!ensionen-Ieys ./ ParentGal.es
t/parent as ti!e5parent9 -- 7M.! -rillen benNti0t8
t/end5date as end5date9
p/parent as prod.6t5parent9
p/di!5Ley as prod.6t5di!5Ley9
6/parent as 6.sto!er5parent9
6/di!5Ley as 6.sto!er5di!5Ley
HROC .!satM5)iew s9 Meit5Lalender5)iew t9 prod.6t5pri!ary5)iew p9 6.sto!er5ship!ents5)iew
6
$D<R< s/Meit # t/di!5Ley
A;- s/prod.6t # p/di!5Ley
and s/6.sto!er # 6/di!5Ley
A;- s/6hannel #OE<SACT5TOTALO -- Initialisier.n0s-P<instie0sp.nLte
A;- p/parent # OTOTAL5TOTALO
A;- 6/parent # OTOTAL5TOTALO
A;- t/parent # OFADR5A%,22=O
!eite% 3?,-(
8enn alle Angaben $bereinstimmen, dr$c1en !ie den @utton !eite
hin-uf;gen, um die @eric"tsregion mit einer 4E2ML6-!eite in Verbindung
zu bringen'

:lic1en !ie :eiter im Assistent' <$r die n>c"sten !c"ritte $berne"men !ie
ein#ac" die 0e#ault-Einstellungen' /m Prinzip 1Innten !ie aber an der
!telle auc" sc"on den Erstellen @utton dr$c1en' Mit #olgendem @ild sollten
!ie enden'
!eite% 3),-(
0ie Anwendung beste"t aus * !eiten' Eine Anmeldemas1e zur Aut"enti#i-
zierung und die eigentlic"e @eric"tsseite' :lic1en !ie au# die Ampel, wird
die Anwendung ausge#$"rt'

8ir "aben die Aut"enti#izierung =ia 8or1space-@enutzer a1ti=iert 4es w>re
z'@' auc" L0AP mIglic"6' @islang eistiert nur der Entwic1ler-@enutzer,
der auc" sc"on #$r die Anmeldung an den 8or1space =erwendet wurde'
$.2.3 Anzeigeoptionen und 8or%atierung
Erste 0aten werden sc"on =om OLAP !er=er gelie#ert' Setzt "eiDt es, die
<ormatierung und Au#bereitung des @eric"ts noc" zu =erbessern' Mber
das 0ahnrad-!ymbol w>"len wir die <un1tion !elect Columns und
tre##en #olgende <eld-Auswa"l und -Ordnung'
!eite% 3+,-(
8ir speic"ern diese Einstellungen wiederum $ber und der <un1tion
!a9e %eport 1< !a9e as default report settings(
Hun gilt es noc", das 9a"len#ormat des @eric"ts anzupassen' 8ir
=erse"en die 8erte mit einer passenden <ormatmas1e' 0azu 1lic1en !ie
au# die unten am @ildsc"irm eingeblendeten !teuerleiste'
!eite bearbeiten ' #$"rt !ie zu den P/nnereienQ der !eitende#inition' Cns
interessiert die %egion, in der unser @eric"t abgelegt ist'
Ein :lic1 au# den Lin1 OLAP )ericht #$"rt uns zur eigentlic"en @eric"ts-
0e#inition, die so der Assistent #$r uns angelegt "at'
!eite% 7(,-(
%egionsdefinition ent">lt u'a' das !AL !tatement' Cns interessiert der
Beiter )erichtsattribute und dort die :ennza"len ,msat-, ,msat- =+D und
,msat- =+D 6or>ahr(
:lic1en !ie Reweils au# das !ymbol mit dem @leisti#t' 0amit 1ommen wir in
die Eigensc"a#ten der einzelnen @eric"ts#elder'
<$r das zu w>"lende 0ahlenformat unterst$tzt uns eine Auswa"lliste'
8>"len !ie das 9a"len#ormat mit 8>"rungszeic"en' Hac" Auswa"l wird
das angezeigte <ormat in eine interne Bepr>sentation umgewandelt'
Vergessen !ie nic"t die Nnderungen $ber ?nderungen anwenden zu
speic"ern'
Hac"dem die genannten :ennza"len #ormatiert sind, 1lic1en !ie au# das
Ampelsymbol rec"ts oben au# der !eite' !o 1ommen !ie wieder in den
Aus#$"rmodus'
9uletzt wollen wir das <eld Frap" auc" wir1lic" als Fra#i1 ersc"einen
lassen und zwar als Mini-@al1endiagramm im <eld' 0azu tragen wir als
0ahlen15ormat ein spezielles C!!-!tyles"eet-<ormat ein, das so im
!tandardum#ang =on APE5 sc"on ent"alten ist'
PCT_GRAPH:{Hintergrundfarbe}:{Vordergrundfarbe}:{Balkenbreite in Pixel}
Ein @eispiel% PCT_GRAPH:E2E2F5:FF0000:100
!eite% 7&,-(
8enn die <elder +ext an-eigen als* 0ahlenformat* !paltenausrichtung
ge>ndert sind, 1Innen !ie wieder zur Anwendungsaus#$"rung $ber die
Ampel ge"en'
$.2.4 DrillADo?n
0er @eric"t sie"t sc"on rec"t gut aus, allerdings #e"lt Reglic"e 0ynami1'
8ir "aben 1eine 0rill-<un1tionalit>t und auc" der zeitlic"e
@etrac"tungszeitraum ist besc"r>n1t' 0as werden wir durc" eine
entsprec"ende Parametrisierung >ndern'
<$r die 0imensionen 9eit, Produ1t und Customer sind Eierarc"ien
"interlegt, die die @eric"te Pdrill-#>"igQ mac"en' 8ir 1Innen die Ab#rage an
den OLAP !er=er so dynamisieren, dass wir genau dieses 9iel erreic"en'
0azu legen wir zun>c"st . Variablen an' Au# der !teuerleiste 1lic1en wir in
die Eigensc"a#ten der !eitende#inition 4!eite bearbeiten '6'
!eite% 7*,-(
/m @ereic" Elemente 1lic1en wir au# das Pluszeic"en'
8ir bewegen uns wieder in einem Assistenten, der eigentlic" Eingabe-
bzw' Anzeige#elder in untersc"iedlic"er Auspr>gung #$r eine 0ialogmas1e
erstellt' Es gibt aber auc" den Elementtyp Ausgeblendet, der z'@' auc" als
@ind-Variable in einem !AL-!tatement =erwendet werden 1ann' Er ist #$r
uns =on /nteresse' 0a wir gleic" . Variablen erstellen wollen, w>"len wir
den Lin1 Mehrere Elemente mit tabellarischer 5orm erstellen'
0e#inieren !ie die . Elemente wie abgebildet' Als Absc"luss best>tigen mit
dem @utton Mehrere Elemente erstellen(

Als n>c"stes passen wir das !AL-!tatement des @eric"ts an, um die
bislang #ien 0atenpun1te zu dynamisieren' 0azu 1lic1en wir im @ereic"
%egionen au# den Lin1 OLAP )ericht'
!eite% 7.,-(
/m !AL !tatement tausc"en wir die /nitialisierungspun1te%
A;- s/6hannel #OE<SACT5TOTALO -- Initialisier.n0s-P<instie0sp.nLt
A;- p/parent # OTOTAL5TOTALO
A;- 6/parent # OTOTAL5TOTALO
A;- t/parent # OFADR5A%,22=O
durc"
A;- s/6hannel # OE<SACT5TOTALO
A;- t/parent # n)l7:P15K<IT9 OALL<5FADR<5TOTALO8
A;- p/parent # n)l7:P15PRO-1AT9 OTOTAL5TOTALO8
A;- 6/parent # n)l7:P15A1STOC<R9 OTOTAL5TOTALO8
8enn die Nnderungen best>tigt sind, 1Innen !ie gleic" zur Aus#$"rung
der Anwendung ge"en, um zu se"en was sic" =er>ndert "at' 0ie
0atenmenge ist nun se"r =iel grIDer' Cns #e"lt aber immer noc" die 0rill-
<un1tionalit>t' 0ie @eric"tsspalten 0eit* Produ/t und Customer sollen drill-
#>"ig sein'
8ir "atten uns sc"on im 9usammen"ang mit der <ormatierung der
:ennza"len mit den )erichtsattributen auseinandergesetzt' <$r die
bezeic"neten !palten ne"men wir Retzt eine zus>tzlic"e Nnderung =or' 8ir
ge"en in die !eiteneigensc"a#ten 4!eite bearbeiten '6 und betrac"ten die
!e1tion %egionen( Cm zur @eric"tsde#inition zu gelangen, 1lic1en wir
dieses Mal den Lin1 Intera/ti9er )ericht'
Nndern wir zun>c"st das !paltenattribut 9eit' 0en 0rilldown erreic"en wir
durc" einen Lin/'
!eite% 73,-(
8ie im @ildaussc"nitt gezeigt, sollte die Nnderungen ausse"en' <$r die
<eldin"alte 1Innen !ie Reweils das 2asc"enlampensymbol 1lic1en' 0ie
/n"alte 1Innen !ie ein#ac" aus der Reweiligen 8erteliste ausw>"len' 0ie
mit W umsc"lossenen Parameter repr>sentieren einen tats>c"lic"en 8ert'
Hac"dem !ie die ?nderungen anwenden, 1Innen !ie den @eric"t gleic"
testen' 0rilling "eiDt, der 8ert des ge1lic1ten <eldes dient als @asis zur
!ele1tion der 0etailin#ormationen' 0ie anderen <elder in dem <all Produ/t
und Customer sollen aber da=on unber$"rt sein' !ie zeigen nac" wie =or
die urspr$nglic"en 4Parent6 /n#ormationen'
<$r die !palte Produ/t sie"t die Einstellung wie #olgt aus'''
''' und so #$r Customer'
!eite% 77,-(
$.2.$ DrillABp
8ir sind #ast #ertig' 8enn !ie den @eric"t au# die 0rilldown-<>"ig1eit
testen, werden !ie gleic" #eststellen, dass es auDer der @et>tigung des
9ur$c1-@uttons des @rowsers 1eine 0rill-Cp <un1tionalit>t gibt' 0as w>re
zus>tzlic" zu implementieren, soll aber nic"t @estandteil unseres
Prototypen sein'
8ir bauen noc" eine Beset-<un1tion in <orm eines @uttons au# der !eite
eine, der den @eric"t in seinen Crsprungszustand =ersetzt'
Mber !eite bearbeiten ' editieren wir abermals die Eigensc"a#ten der
!eite'
:lic1en !ie im @ereic" !eitenwiedergabe !chaltfl4chen au# das !ymbol
mit dem Pluszeic"en' Ein Assistent I##net sic"' 9un>c"st wird die Begion
abge#ragt, in der der @utton platziert werden soll' 8>"len !ie die
@eric"tsregion'
!eite% 7-,-(

0er @utton wird bezeic"net' Als !chaltfl4chent$p w>"len wir @ild und
w>"len ein !tandardbild =on APE5'
Eine !eite in APE5 ist in einer E2ML 2able-!tru1tur au#gebaut, in der
untersc"iedlic"e Platz"alter dynamisc" be#$llt werden' !o auc" die
Position #$r den @utton'
!eite% 7?,-(
Ein @utton au# der !eite 1ann zur !eitenna=igation =erwendet werden' 8ir
wollen aber au# unserer @eric"tsseite bleiben und tragen des"alb die
entsprec"ende !eitenza"l ein'
!c"lieDen !ie die Eingaben ab und 1lic1en au# den @utton !chaltfl4che
erstellen(
Hoc" ist der @utton o"ne <un1tion' Eigentlic" sollten mit dem 0r$c1en des
Beset-@uttons die /nitialwerte der Ab#rage wieder eingestellt werden' 0ie
=or"er angelegten @ind-Variablen steuern die /nitialwerte der Ab#rage' 8ir
m$ssen also den !ession-!tatus der Variablen lIsc"en' 0azu ge"en wir
zum letzten Mal in die !eitende#inition 4!eite bearbeiten '6' /m mittleren
2eil in der !e1tion !eiten9erarbeitung gibt es den @ereic" 6er-weigungen'
0a ein @utton auc" Ha=igationszwec1en dient, "at uns der Assistent eine
Verzweigung angelegt'
<olgen wir dem Lin1 #ehe -u !eite ''
/m @ereic" A1tion geben wir unter Cac"ein"alt lIsc"en die !eitennummer
& an' 0'"' ein @et>tigen des Beset-@uttons leert die gesamten !ession-
Parameter, die $brigens eben#alls in der 0atenban1 ge"alten werden'
8ir sind am 9iel und 1Innen mit der ad-"oc-Analyse starten bzw' 1Innen
den @eric"t an die Anwender =erteilen' Letzteres ge"t ganz ein#ac"'
Mer1en !ie sic" ein#ac" die Anwendungsnummer, die in der CBL
eingeblendet ist' /n unserem <all Anwendung '@@'
httpAblessing1de(de(oracle(comAB7B7apexfCpD'@@
!eite% 7),-(
0er Anwender muss nur die CBL in seinen @rowser eingeben und sc"on
1ommt au# er au# die Anmeldemas1e des @eric"ts' /m Vor#eld sollten die
Anwender dem !ystem noc" be1annt gegeben werden' 0ann 1ann es
aber losge"en'
2esten !ie die <un1tionen "inter dem 9a"nradsymbol und speic"ern
!ie den indi=idualisierten @eric"t am Ende ab oder stellen !ie i"n anderen
@enutzern als !tandardberic"t zur Ver#$gung'
Ein weiteres Produ1t =on Oracle erg>nzt die @eric"tserstellung au#
0o1umentenbasis 4P0<, 8ord, Ecel, Powerpoint etc'6 optimal ; Oracle @/
Publis"er' Me"r dazu er#a"ren !ie au# den deutsc"en Community !eiten'
!eite% 7+,-(
:& ;usammen#assung
Oracle OLAP bietet neben den =orgestellten <un1tionalit>ten eine Menge
weiterer MIglic"1eiten #$r Planung, @udgetierung, Prognose, Vertrieb und
Mar1eting' Mit"il#e =on Oracle OLAP lassen sic" wic"tige gesc">#tlic"e
2rends er1ennen und 1omplee gesc">#tlic"e !zenarien modellieren'
0ie OLAP Engine =on Oracle bietet 1lare Vorteile' !ie ist in den Oracle
:ernel integriert und eliminiert dadurc" au#w>ndige 0atenbewegungen,
was weniger 9eitau#wand #$r den Au#bau und P#lege der Cubes bedeutet'
AuDerdem reduziert der zentralisierte Ansatz =on Oracle die :ompleit>t
der /2-/n#rastru1tur und bietet alle Vorz$ge, die die Oracle 0atenban1
auszeic"nen, z'@' die 2"emen Ver#$gbar1eit und !1alierbar1eit'
Ein#ac"e !c"nittstellen n>mlic" !AL, mac"en Oracle OLAP zu einem
o##enen !ystem' Hic"t nur die gesamte @usiness /ntelligence
Produ1tpalette =on Oracle pro#itiert da=on, sondern alle anderen
8er1zeuge am Mar1t, die !AL als Ab#ragesprac"e nutzen' Me"r noc"
Oracle =erbindet die relationale und me"rdimensionale 8elt optimal und
I##net die Frenzen der !ysteme durc" 1ooperati=e 9ugri##e'
Oracle OLAP, Cube-organized M5iews & Application Epress - !c"ritt #$r !c"ritt
<August '==>?
Autoren8 )etle# E& !c"r@der und C"ristop" 0lessing
!er5er +ec"nologies Customer Center
OAACLE )eutsc"land 4mb3
Oracle is a registered trademar* o# Oracle Corporation&
Various product and ser5ice names re#erenced "erein may be
trademar*s o# Oracle Corporation& All ot"er product and ser5ice
names mentioned may be trademar*s o# t"eir respecti5e owners&
Copyrig"t B '==> Oracle Corporation
All rig"ts reser5ed&
!eite% -(,-(