OLAP-andmekuup
**OLAP-andmekuup** on väljavõte mitmemõõtmelisest andmestikust.

OLAP (ingl *online analytical processing*) ehk sidustöötlus on mitmemõõtmeline reaalaja andmetöötlus. OLAP võimaldab ulatuslikke andmebaase organiseerida ja tänu sellele koondada andmeid kujule, mis võimaldab keerulisi analüüse paremini läbi viia. OLAP-andmed on korraldatud hierarhiliselt ja neid hoitakse kuupides. Kui kuubi mõõtmete arv on suurem kui kolm, siis võib kuupi kutsuda ka hüperkuubiks.

Terminid
--------

Kuup annab ülevaate mitmedimensionaalsest andmestikust, esitades n-mõõtmelise andmestiku kahe-või kolmemõõtmelise tabelina. Näiteks kui ettevõte soovib tegeliku kulu ja eelarve võrdlemiseks teha finantsandmetest kokkuvõtte soetatud toote, soetamise ajaperioodi ja toote päritolu linna põhjal. Siinkohal on toode, aeg, linn ja võrdlusvariandid (tegelik kulu ja eelarve) erinevad mõõtmed.

Kuup on andmestruktuur näitajate koondamiseks kõigi vaatluse alla võetud mõõtmete tasemete alusel. Kuup ühendab erinevaid mõõtmeid (nt aeg, geograafia, liik) koondandmetega (nt müügi- ja laonäitajad). Kuubid ei ole kuubid nende matemaatilises tähenduses, kuna nende küljed ei pruugi alati olla võrdsed.

Dimensioon on kuubi ühe või mitme taseme organiseeritud hierarhia kogum, mida kasutaja võtab aluseks andmete analüüsimisel. Näiteks võib ajadimensioon sisaldada aasta, kuu ja päeva tasemetega hierarhiat.

Hierarhia on loogikal põhinev puustruktuur, mis on üles ehitatud ema-tütre (ingl *parent-child*) suhte põhimõttel. Igal dimensiooni liikmel on oma emaliige ja null või rohkem tütarliiget. Tüüpiliselt on emaliige summa oma tütarliikmetest. Näiteks 2005. aasta maikuu vanemaks on sama aasta teine kvartal, mis on omakorda lapseks 2005. aastale.

Kuubi moodustamisel valitakse mõõtmed, mille lõikes soovitakse andmeid uurida. Dimensioonide hierarhilisus võimaldab kasutajal vaatluse all olevaid andmeid täpsemaks muuta. Iga kuubi segment sisaldab ühte tulemust, mis on saadud kuupi kaasatud dimensioonide kindlate tasemete mõõtmistulemusel. Kui meil on vaatluse all dimensioonid mõõtmised, aeg, geograafia ja toode, siis dimensiooni tasemed on näiteks müügihind, 2018. aasta jaanuar, Tallinn, Philipsi Ultra HD LED LCD-teler. Selle näite puhul on kuubi segmendis Philipsi Ultra HD LED LCD-teleri hind, mis on fikseeritud 2018. aastal Tallinnas.

Kasutamine
----------

Kuupidesse saab andmeid paigutada vastavalt tehtud operatsioonidele mitmel viisil. OLAP-i iseloomulikud operatsioonid on näiteks eraldamine ja alamkuupi viimine (ingl *slice and dice*), üldisema kuubi muutmine spetsiifilisemaks (ingl *drilldown*) ja vastupidi (ingl *drillup*, *rollup*) ning kuubi keeramine (ingl *pivot*).

OLAP-operatsioon – eraldamine
Eraldamine iseloomustab tüüpilist OLAP-analüüsi, kus peamine operatsioon on kuubist soovitud segmentide eraldamine. Selle tulemusel tekib väiksem kuup, kuhu on tavaliselt kaasatud valitud dimensiooni üks väärtus.

Toome näite kuubist, mille pikkuse moodustavad tooteliigid (matkavarustus, lisavarustus, kaitsevahendid (õues viibimiseks, nt päevituskreem ja putukatõrjevahendid), golfivarustus, mägironimisvarustus), laiuse moodustavad piirkonnad Euroopas (Põhja-Euroopa, Kesk-Euroopa, Lõuna-Euroopa) ja sügavuse ajaperiood (aastad 2004, 2005, 2006). Igas segmendis on toodud kindla dimensiooni taseme alla kuuluv müüdud toodete arv. Kasutades selles näites eraldamise operatsiooni, saame kuubist välja võtta näiteks ühe aasta (olgu selleks 2004) ja vaadata sedasi vastavalt müüdud toodete arvu ainult 2004. aastal dimensioonide tasemete kaupa.

OLAP-operatsioon – alamkuubi tekitamine
Alamkuubi tekitamine on protseduur, mille tulemusel valitakse dimensioonist välja kindlad väärtused. Meie näites võime alamkuubi saamiseks eraldada tooteliikidest lisavarustuse, välised isikukaitsevahendid ja golfivarustuse, jättes ülejäänud dimensioonid (ajaperioodi ja piirkonna) puutumata. Tulemuseks saame 3x3x3 alamkuubi.

OLAP-operatsioon – üldise kuubi muutmine spetsiifiliseks
Üldisema kuubi muutmine spetsiifilisemaks ja vastupidi annab kasutajale võimaluse liikuda dimensiooni hierarhiate vahel. Nii tekib kuup, mille andmed annavad kas kokkuvõtlikuma (*drillup*) või detailsema (*drilldown*) pildi. Meie näites saame üldisema kuubi muuta spetsiifilisemaks, kui vaatame mõne tooteliigi tütarliikmeid. Näiteks võime moodustada eraldi kuubi, mille pikkuse moodustavad kaitsevahendite tooteliigi tütarliikmed: putukatõrje, päikesekaitsevahendid, esmaabivahendid.

*Roll-up* meetod sisaldab andmete summeerimist üle dimensiooni hierarhiate. *Roll-up* meetod ei pea sisaldama ainult summeerimist üle dimensiooni, vaid tulemuse kokkuvõtlikumaks muutmiseks võib kasutada ka muid tehteid (näiteks kasum = müügisissetulek – kulud).

OLAP-operatsioon – kuubi keeramine
Kuubi keeramine annab võimaluse pöörata kuupi ruumis nii, et oleks näha kuubi eri külgi. Näiteks vaadates kindla kvartali andmeid, võivad linnad olla järjestatud vertikaalselt ja tooted horisontaalselt. Kuubi keeramist kasutades võime vahetada kuubis tooteliigi asukoha ajaperioodi asukohaga ehk uue kuubi kõrguse moodustab ajaperiood ja laiuse tooteliik. Nii saadakse andmed üle aja iga tooteliigi jaoks.

Viited
------

1. 1 2 3 4 5 6  Jaak Vilo (25.11.2014). "Mitmedimensionaalne analüütika". Originaali arhiivikoopia seisuga 10.03.2018. Vaadatud 03.03.2018.
2. 1 2 3 4  Microsoft Office koolitusmaterjal (2009). "Ülevaade OLAP-ist (Online Analytical Processing)". Vaadatud 03.03.2018.
3. 1 2 3 4 5 6  The OLAP Council (1995). "OLAP and OLAP Server Definitions". Vaadatud 03.03.2018.
4. ↑  PostgreSQL (02.10.2006). "Cybertec releases OLAP cubes for PostgreSQL". Vaadatud 05.03.2008.