Általánosan az adatkockákról:
Az adatok tárolásának két alapvető módját ismerjük, az egyik a tranzakciós adatbázis (OLTP) a másik multi dimenziós adatbázis (OLAP). Ez utóbbit adatkockáknak is szokták nevezni. A két típus között az a különbség, hogy amíg az OLTP például nyilvántartja, hogy miből, mikor és mennyit vettünk, addig az OLAP olyan üzleti, vezetői kérdésekre adja meg a választ, mint például:
-Milyen forgalmi adatok várhatók a következő időszakban?
-Sikerült elérni a kitűzött célokat, mutatókat az eladások, a forgalom terén?
Vagy olyan komplex kérdésekre, mint
-Mely boltoknál volt a legnagyobb eltérés az általánosan lezajló folyamatokhoz képest a forgalom tekintetében?
Mi is az az Essbase?
Essbase egy multidimenziós adatbázis-kezelő rendszer (MDBMS), amelyre fejlett analitikai alkalmazásokat lehet építeni.
Essbase adatblokkok
Az adatok az adatkockán belül adatblokkokra vannak felosztva. Ezt úgy kell elképzelni, mintha szeleteket vágnák az adatkockákból. Az Essbase mindig adatblokkokat kezel és az indexeket is erre építi.

Essbase Outline
Az Outline (más néven database Outline) leírja az adatbázis struktúráját, a dimenziókat, tagokat, aliasokat, típusokat, stb. Az adminisztrációs konzolon lévő editor kitűnő eszköz a szerkesztésére.

Az Outline egyes elemire felülről és alulról közelítve is tudunk hivatkozni a fejlesztés során. Felülről Generations alulról Levels. Az adatokat szinte minden esetben a Level zero szinre töltjük be, és később a kalkulációk töltik ki a hiányzó adatokat.

Essbase Dimenziók
Ez az egyik legérdekesebb tulajdonsága az Essbase-nek. Az Essbase-ben két alaptípusa van a dimenzióknak, Sparse (ritka) és Dense (sűrű). A Sparse dimenziókban kisebb arányban, míg a Dense dimenziókban sűrűbben vannak kitöltve az adatok. A Dense dimenziók meghatározzák, hogy mekkora legyen egy adatblokk mérete, míg a Sparse dimenziók megadják ezen adatblokkok számát.

Ezt egy példán keresztül szeretném megvilágítani. Két Sparse és három Dense dimenzió látható az ábrán…

A dián öt adatblokkot látunk. Az egyes adatblokkokon látható, hogy a Dense dimenziók alkotják őket, míg az öt darab kis adatkockák számát a Sparse dimenziók viszonylatából az ingek és a régiók (Totállal együtt öt) határozzák meg. Ha a nadrágokat is meg akarnánk mutatni, akkor újabb öt kockát rajzolhatnánk ki a képernyőre. Ha pedig a Total Product-ra is ábrázolni szeretnénk, akkor ismét öt új kockát kellene felrajzolnunk.
Essbase dimenziók mérete
Az Essbase nagy előnye, hogy ha már tudjuk hány dimenziót fogunk tárolni, akkor előre ki tudjuk számolni az adatbázis méretét. Egy adatcella mérete minden esetben 8 byte, akkor is ha nincs még benne érték. Az adatcellák számát pedig megkapjuk ha egyszerűen összeszorozzuk a dimenziókat.

Hasonlóan a többi adatbázis kezelőhöz az Essbase is rendelkezik beépített függvényekkel, amiket használhatunk új adatok kiszámításához.
Valamint használhatók a logikai és matematikai operátorok a különféle számításokhoz. Két operátorra szeretném felhívni a figyelmet, az egyik a %, amivel könnyen kiszámítható két dimenzió aránya, illetve a tilde, a semmi operátor, ami az Outline-ban azt jelenti, hogy a gyerekértékek összegét a kalkuláció ne szummázza fel a szülőbe.
Essbase kalkulációs scriptek:
Az Essbase kalkulációs scriptek önálló txt állományok, amivel komplex kalkulációkat végezhetünk. Akár több különböző adatbázison is használhatók, mivel különálló fájlok. Természetesen az hivatkozott dimenzióknak létezniük kell mindegyikben. A Fix paranccsal le lehet szűkíteni, fokuszálni, hogy mely dimenziókon végezzen számításokat. Ez is szerkeszthető az Essbase konzolon az Outline-hoz hasonlóan.
Kétmenetes értékadás:
Sok esetben előfordul, hogy egy adott cella értékét nem lehet egy menetben kiszámolni, mert például az adott dimenzió kiszámításakor még hiányoznak adatok. Az Essbase fejlesztői ezért találták ki a kétmenetes értékadást. Ennek megértéséhez nézzünk egy konkrét példát.

Első lépésben betöltünk 100-100 és 1000-1000 értékeket január, február, márciusra. Elindul a default kalkuláció a 2.1-es pontban az Account dimenzió mentén, kitölti 10-10%-okat. Majd a Time dimenzió mentén kitölti a 300-at, 3000-et és 30%-ot. Ez bizony hibás adat. Ezért a második menetben újra lefut a default kalkuláció az Account dimenzió mentén és ekkor már a helyes 10%-ot fogja kiszámolni.
Adatkockák okosabban - Smart View