Előző év azonos időszaka: Tippek a mutató elkészítéséhez
Egy időszak(Hónap, negyedév, …) teljesítményének összehasonlítása az előző év azonos időszakához tipikus OLAP feladat. Olyannyira, hogy amikor az OLAP mellett érvelünk a relációssal szemben, akkor mindig megemlítjük, hogy az OLAP-nak kifinomult és hatékony idősor kezelő függvényei vannak, amelyek a relációs oldalon még csak most kezdenek kialakulni.
A most következő cikkben az idősor elemzések egy speciális szeletével, az előző év azonos időszakai teljesítmény kimutatásával fogok foglalkozni. Arra keresem a választ, hogy hogyan mutatható ki egymás mellett két időszak: Az aktuális év és vele párhuzamosan az előző év azonos időszaka.
Jelen cikk üzleti oldalról közelíti meg a problémát: Milyen lehetőségeink vannak arra, hogy két időszakot párhuzamosan mutassunk ki egymás mellett. Míg ezen cikk inkább modellezési kérdésekkel foglalkozik, lesz majd egy második cikk is amely technológiai oldalról járja körül a problémát.
Frissítés: A cikk elkészült. Címe: Előző év azonos időszaka: Tippek a mutató kiszámításához
Nos. Vágjunk bele és vizsgáljuk meg, hogy hogyan elégítheti ki felhasználóinak azon igényét, hogy mutassa ki az idei év teljesítményével párhuzamosan az előző év azonos időszakának teljesítményét is. Tételezzük fel, hogy az Ön egyik felhasználója valami hasonlót akar kiszedni az OLAP kockákból:
Egy klasszikus idősor hierarchiában a hónapok évek alá vannak szervezve, így nem tudjuk megoldani, hogy a hónapok a táblázat sorain, az évek táblázat oszlopain helyezkedjenek el. Valami mást kell kitalálni, és ez a valami más egy új „évfüggetlen” hónap attribútum, vagy egy külön [idősor kalkulációk] minidimenzió lesz.
„Év hónapjai” attribútum
Imádom az idő dimenziót! Mindenki számára érthető, felépítése tiszta és egyszerű. Látszólag. A valóságban azonban nincs még egy olyan komplex dimenzió mint az idő. Ha egyszer oktatást fogok tartani, valószínűleg ez lesz az első témám. Szinte mindent el lehet felejteni, amit a Best Practice irodalmak említenek, ha idő dimenziót kell terveznünk. Minden, amit ott elkerülendőként említenek, itt meg kell valósítanunk (Apropó. Megjelent a Best Practice Analyszer újabb változata. Tessék letölteni (2 Mega) és kipróbálni, mert rém egyszerűen telepíthető).
Kanyarodjunk vissza kiinduló problémához. Ahhoz, hogy az évekkel szembe tudjuk állítani a hónapokat, létre kell hoznunk egy új, csak az év hónapjait tartalmazó attribútumot. Ez az új attribútum gyakorlatilag a naptári hónapokat tartalmazza évszám megjelölés nélkül. (január, február, március, …) Tehát [január 12, 2007] fölé és [január 12, 2006] fölé is [január] –t kell bekötnünk.
Természetesen ha nem csak hónap szinten akarjuk összehasonlítani a különböző évek teljesítményét, hanem például hét vagy negyedév szinten is, akkor létre kell hoznunk évfüggetlen hét és negyedév attribútumokat is. A másik megoldás, hogy létrehozunk egy [Idősor kalkulációk] minidimenziót.
Az idősor kalkulációk minidimenzió
Az eredeti idő dimenzióval szembeállíthatunk egy olyan speciális dimenziót is, aminek két értéke van: Aktuális időszak és előző év azonos időszaka:
Ez az egy minidimenzió kiválthatja az évfüggetlen hónap, negyedév, hét, … attribútumokat, hiszen mivel külön dimenzió, tetszőleges eleme szembeállítható egy másik dimenzió, így az idő dimenzió elemeivel is.
Az idősor kalkulációk dimenzió igazából csak egy váz dimenzió, amit azért hozunk létre, hogy felfűzzünk rá az olyan számított mezőket, mint az előző év azonos időszaka (ParallelPeriod). (De a későbbiekben felhúzhatjuk rá Kumulált számított mezőt és még egy csomó eltérést számító számított mezőt is.) Egy ilyen dimenzió elkészítésének elmagyarázása nem fér bele jelen dokumentum kereteibe, de a közeljövőben be fogom mutatni, hogy hogyan lehet hatékonyan elkészíteni.
Megj.: Ha összesen egy hierarchiája van az idő dimenzión, akkor nyugodtan használhat minidimenzió helyett "miniattribútumot" is. A megoldás ugyanaz, mint a minidimenzió esetén, csak a "befoglaló váz" nem egy dimenzió, hanem egy attribútum lesz.
Összefoglalás
A fentiekben megismerhetett egy azon üzlet problémára két különböző modellezési megoldást. Az évfüggetlen hónap attribútum előnye, hogy rendkívül egyszerűen megvalósítható. Hátránya viszont, hogy az eltérések kimutatására már nem alkalmas. Az oké, hogy láthatom egymás mellett az idei és tavalyi év teljesítményét, de azt már nem, hogy mennyi volt köztük az eltérés naturáliában és százalékosan. És valljuk be őszintén, az Ön felhasználóit pont ez fogja érdekelni.
Ezzel szemben az idősor kalkulációk dimenzióval (vagy attribútummal) létrehozott vázra a későbbiekben annyi számított mezőt fűzhet, amennyi csak szükséges (pl előző időszak és azok eltérései, halmozott értékek és ezek alakulása előző évben, vagy a megelőző időszakban)
Ezek voltak az előző év azonos időszaki teljesítmények kimutatásának modellezési lehetőségei. Mint a bevezetőben említettem lesz majd egy cikk, amelyben bemutatom Önnek az előző év hasonló időszakát visszaadó számított mező alapját képező ParallelPeriod MDX függvény viselkedését is. Elöljáróban csak annyit, hogy nem mindig a várt eredményt szolgáltatja...
Kapcsolódó anyagok:
Kővári Attila - BI projekt
Új hozzászólás