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
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?>
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% -(,-(