Využití datového skladu jako zdroje pro Business
Transkript
U NICORN C OLLEGE Softwarové inženýrství a informatika Management ICT projektů Využití datového skladu jako zdroje pro Business Intelligence Usage of a data warehouse as a source for Business Intelligence Bakalářská práce Autor: Lukáš Král Vedoucí práce: Mgr. Peter Buchlák Praha 2010 Unicorn College © 2010 Unicorn College, V Kapslovně 2767/2, Praha 3, 130 00 Název práce v ČJ: Využití datového skladu jako zdroje pro Business Intelligence Název práce v AJ: Usage of a data warehouse as a source for Business Intelligence Autor: Lukáš Král Akademický rok: 2010 Kontakt: E-mail: [email protected] Tel.: (+420) 774 246 242 Děkuji vedoucímu bakalářské práce Peterovi Buchlákovi za účinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování mé bakalářské práce. Prohlašuji, že svou bakalářskou práci na téma „Využití datového skladu jako zdroje pro Business Intelligence” jsem vypracoval samostatně pod vedením vedoucího bakalářské práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou v práci citovány a jsou též uvedeny v seznamu literatury a použitých zdrojů. Jako autor uvedené bakalářské práce dále prohlašuji, že v souvislosti s vytvořením této bakalářské práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhl nedovoleným způsobem do cizích autorských práv osobnostních a jsem si plně vědom následků porušení ustanovení § 11 a následujícího autorského zákona č. 121/2000 Sb. V Praze dne 6. května 2010 Lukáš Král 4 5 Abstrakt Tato bakalářská práce se zabývá datovými sklady a jejich praktickým využitím pomocí Business Intelligence (BI). Kromě popisu obou technologií je hlavní důraz kladen na znázornění jejich vzájemného vztahu a také výhod, které z tohoto spojení pro BI vznikají. V souvislosti s tím je datový sklad nejprve definován z pohledu dvou nejdůležitějších osobností v oboru, Williama H. Inmona a Ralpha Kimballa, a poté srovnán s operační databází. Následně se již pozornost přesouvá na Business Intelligence. Postupně je zde rozebrána problematika reportů, OLAP analýzy a data miningu. V práci jsou také nastíněny možné směry, kterými se budou tyto systémy spolu s datovými sklady ubírat do budoucna. V praktické části je navrhnut a implementován funkční model datového skladu. Ten je následně použit jako zdroj pro jednotlivé BI nástroje a jsou tak názorným způsobem demonstrovány různé způsoby jeho využití. Klíčová slova Business Intelligence, datový sklad, data mart, normalizovaný model, dimenzionální model, hvězdicové schéma, reporty, OLAP, multidimenzionální databáze, data mining Abstract This bachelor thesis deals with data warehouses and their practical usage with Business Intelligence (BI). Apart from describing both technologies, the main emphasis is put on illustrating their relationship and also advantages that result for BI from this connection. Considering this a data warehouse is at first described from a perspective of the two most important people in this discipline, William H. Inmon and Ralph Kimball and then compared to an operational database as a possible source for BI tools. Afterwards the attention is moved towards Business Intelligence itself. This topic is divided into several categories, reporting, OLAP analysis and data mining. Aim of this thesis is also to outline possible future developments of these systems along with data warehouses. In practical part a functional model of a data warehouse is designed and implemented. It is consequently used as a source for individual BI tools and thus diferent ways of its usage are demonstrated. Keywords Business Intelligence, data warehouse, data mart, normalized model, dimensional model, star schema, reports, OLAP, multidimensional database, data mining 6 Obsah Zadání 5 Abstrakt 6 1 Úvod 8 2 Datové sklady 10 2.1 Charakteristika datového skladu podle Williama H. Inmona . . . . . . . . . . . . . 10 2.2 Charakteristika datového skladu podle Ralpha Kimballa . . . . . . . . . . . . . . . 13 2.3 Normalizovaný a dimenzionální přístup k ukládání dat . . . . . . . . . . . . . . . . 17 3 Business Intelligence 23 3.1 Reporty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2 Analýza (OLAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3 Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.4 Současné trendy ve vývoji datových skladů a BI . . . . . . . . . . . . . . . . . . . . 35 4 Návrh a využití datového skladu ve spojení s BI 39 4.1 Návrh a implementace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.2 Vytvoření reportů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3 Analýza (OLAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.4 Data mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5 Závěr 59 6 Conclusion 61 Literatura 63 Seznam obrázků 65 Seznam použitých symbolů a zkratek 66 Seznam příloh 67 Příloha 1 I Příloha 2 VIII 7 1 1 ÚVOD Úvod Ještě před několika lety stačily firmám k úspěšnému konkurenčnímu boji znalosti a zkušenosti několika svých klíčových manažerů. V posledních letech se ale situace začíná zcela zásadně měnit. Hlavní podíl na tom má turbulentní a globalizované prostředí, které díky neustálým změnám nutí organizace k daleko rychlejšímu rozhodování než v dřívější době. Úsudek již nemůže vycházet ze zkušeností manažerů, ale musí se opírat o správné informační podklady. Spolu se změnou ekonomického prostředí je na firmy vyvíjen tlak také díky nárůstu konkurence či stále se zvyšujícím požadavkům zákazníků. V souvislosti s vývojem informačních technologií zároveň rapidním způsobem roste objem podnikových dat, přičemž velké množství z nich obsahuje cenné informace, které by se daly využít pro rozvoj dané firmy. Otázkou však zůstává, jak tyto informace z nashromážděných dat získat. Není proto divu, že se v posledních letech začínají prosazovat tzv. decision support systems (DSS), neboli systémy pro podporu rozhodování. Do této kategorie lze zařadit i nástroje Business Intelligence (BI) spolu s datovými sklady, které pro BI představují jakousi datovou základnu. Tyto systémy umožňují firmám spravovat svá data a získávat z nich strategické informace potřebné pro dosažení výhody na trhu a zvýšení šance na úspěšný boj v konkurenčním prostředí. S tím, jak stoupá obliba DSS systémů, se však pozornost přesouvá spíše na samotné získávání a prezentaci dat, než na formu jejich skladování. Pojmy Business Intelligence a datové sklady, byt’ se jedná o dva odlišné termíny, jsou v praxi často zaměňovány nebo se naopak označují pouze pomocí termínu Business Intelligence. Cílem této práce je tedy mimo jiné tyto pojmy jasně definovat a popsat. Hlavní důraz bude ale kladen na vzájemný vztah obou subjektů. Spíše než prokazovat nezbytnost datového skladu ve vztahu k BI si však tato práce klade za cíl demonstrovat veškeré možnosti a výhody, které z tohoto spojení pro BI vznikají. Budou zde tedy uvedeny jednotlivé kategorie BI nástrojů, pro které datový sklad představuje onen zdroj uvedený v názvu práce, přičemž u každé z nich bude dbáno na to, aby byla jasně znázorněna role datového skladu. V práci také zmíním současné trendy v oblasti datových skladů a BI nástrojů a nastíním jejich vývoj do budoucna. Kromě teoretického znázornění využití datových skladů ve spojení s BI se pokusím tento vztah demonstrovat také na praktické ukázce. V souvislosti s výše uvedenými cíly je práce rozdělena do dvou částí, teoretické a praktické, přičemž teoretická část dále obsahuje dvě kapitoly. V té první popisuji technologii datových skladů z pohledu dvou nejvýznamnějších osobností působících v tomto oboru, Williama H. Inmona a Ralpha Kimballa. Jsou zde uvedeny rozdíly i výhody a nevýhody obou přístupů. Zároveň zde porovnávám datový sklad s operační databází, jako dalším možným zdrojem pro BI. V druhé kapitole nejdříve definuji, co je to Business Intelligence, a poté se již zaměřím na popis jeho jednotlivých kategorií. Postupně se budu věnovat reportům, OLAP analýze a data miningu. Dále budou v této kapitole znázorněny jednotlivé výhody či možnosti, které spojení s datovými 8 1 ÚVOD sklady BI umožňuje. V závěru ještě nastíním možnosti dalšího vývoje těchto systémů. Druhou část této práce tvoří praktická ukázka. Jejím cílem je nejprve vytvořit fungující model datového skladu a na něm poté s pomocí BI nástrojů demonstrovat možnosti jeho využití. Stejně tak jako v teoretické části, i zde se zaměřím na reporty, OLAP analýzu a data mining. 9 2 DATOVÉ SKLADY Teoretická část 2 Datové sklady „The users of an operational system turn the wheels of the organization. The users of a data warehouse, on the other hand, watch the wheels of the organization turn.” 1 Úvodní citace poměrně dobře naznačuje, čím se tato kapitola zabývá. V první části je vysvětlen pojem datový sklad a to z pohledu dvou nejznámějších osobností v tomto oboru, Williama H. Inmona a Ralpha Kimballa. Oba přístupy jsou zde podrobně popsány a vzápětí také porovnány. Druhá část se věnuje vztahu mezi dimenzionálním modelem, který tvoří základní strukturu datového skladu, a normalizovaným modelem, který je pro změnu základem provozních databází. Tyto modely jsou srovnány a s ohledem na využití pro BI jsou uvedeny jejich výhody či nevýhody. 2.1 Charakteristika datového skladu podle Williama H. Inmona Jako první definoval v roce 1991 termín „Data Warehouse” William H. Inmon a je také právem nazýván „otcem datových skladů”.2 Ve své publikaci autor uvádí: „Datový sklad je subjektově orientovaná, integrovaná, neměnná a trvale uložená kolekce dat sloužící pro podporu rozhodování. Datový sklad obsahuje granulární korporátní data.” 3 Vzhledem k tomu, že se jeho pohled na datové sklady výrazně liší od druhého nejvýznamnějšího činitele v tomto oboru Ralpha Kimballa4 , považuji za důležité se nyní jednotlivým požadavkům uvedených v předchozí definici věnovat podrobněji. • Subjektová orientace - datový sklad obsahuje data, která se týkají vlastního předmětu podnikání, nikoliv zápisy jednotlivých transakcí. V klasických provozních systémech jsou data shromažd’ována okolo aplikací dané firmy. Inmon jako příklad uvádí pojišt’ovací firmu, jejíž aplikace mohou být auto, nehoda atd. Hlavním předmětem zájmu organizace je však zákazník, odměna či nárok na pojistné. • Integrovanost - tato vlastnost souvisí s tím, že do datového skladu mohou vstupovat data z různých nesourodých částí podnikového systému. Proto musí být nejprve zformátována do ucelené podoby - např. všechny jednotky délky jsou převedeny na cm atd. Ze všech aspektů datového skladu je právě tento nejdůležitější. Obrázek 1 ilustruje převod dat z provozních systému do datového skladu. 1 KIMBALL, Ralph; ROSS Margy. The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling. 2nd ed. Wiley Publishing. Canada. 2002. str. 2 2 ANUPINDI, Nagesh V. Inmon vs. Kimball [online]. 25.8.2005, poslední revize 10.3.2010 [cit. 2010-03-15]. Dostupné z: <http://www.nagesh.com/publications/technology/173-inmon-vs-kimball-an-analysis.html> 3 INMON, William Harvey. Building the Data Warehouse. 3rd ed. Wiley Publishing. Canada. 2002. str. 31 4 Jeho definici a struktuře datového skladu se věnuje následující kapitola. 10 2.1 Charakteristika datového skladu podle Williama H. Inmona 2 DATOVÉ SKLADY 33 The Data Warehouse Environment Obrázek 1: Integrovanost integration operational data warehouse encoding appl A appl B appl C appl D m,f 1,0 x,y male, female appl A appl B appl C appl D pipeline—cm pipeline—inches pipeline—mcf pipeline—yds appl A appl B appl C appl D description description description description appl A appl B appl C appl D key key key key m,f attribute measurement pipeline—cm multiple sources ? description conflicting keys char(10) dec fixed(9,2) pic ‘9999999’ char(12) Figure 2.2 Zdroj: The issue of integration. Inmon. Building key char(12) the Data Warehouse. str. 33 of -gender matters little whether dataů,inkde the ware• Nízká promencoding ěnlivost data is se,concerned, na rozdílit od provozních systém mohou být libovolně house is encoded as m/f or 1/0 . What does matter is that regardless of method měněna, doordatových skladů warehouse nahrají aencoding pak již isnemohou být nijak modifikována. Ukládání source application, done consistently. If application data is encoded as X/Y, it is converted as it is moved to the warehouse. The probíhá většinou po většíchofdávkách a představuje tak jakýsi snímek datové same consideration consistency applies to all application design issues, such základny v uras naming conventions, key structure, measurement of attributes, and physical čitý okamžik, veškerá data jsou tak přesná právě k tomuto bodu. Pokud se objeví nějaká characteristics of data. změna, je místo modifikace již uložených dat,warehouse vytvořenis athatuložen další snímek (dochází The third important characteristic of a data it is nonvolatile. Figure 2.3 illustrates nonvolatility of data and shows that operational data is k historizaciregularly dat - viz. následující odstavec). Toto ukládání probíhá dle předem stanovené accessed and manipulated one record at a time. Data is updated in the aktualizačníoperational strategie.environment as a regular matter of course, but data warehouse data • Trvalost uložení dat (historizace) - jak již bylo uvedeno dříve, data se v datových skladech nepřepisují ani neodstraňují, jsou statická a určená pouze pro čtení. Díky tomu, že jsou průběžně načítána z provozních systémů (kde jsou vždy obsažena pouze aktuální data), je vytvářena historická sekvence událostí a aktivit.5 V praxi to může vypadat tak, že v provozní databázi budou uloženy informace o aktuálním kurzu české koruny vůči euru, zatímco v datovém skladu budou uloženy všechny jeho hodnoty v posledních pěti letech. Díky tomu může datový sklad daleko lépe sloužit pro rozsáhlé analytické dotazy. Kromě těchto pojmů se v definici také vyskytuje termín granulární data. Co je to granularita, vysvětluje Inmon ve své publikaci. „Granularita odkazuje na úroveň detailu nebo souhrnu dat v datových skladech. Čím více je detailu, tím méně je granularity. Čím méně je detailu, tím více je granularity.” Jako příklad uvádí, že jednoduchá transakce má malou granularitu, zatímco souhrn 5 INMON, William Harvey. Building the Data Warehouse. 3rd ed. Wiley Publishing. Canada. 2002. str. 31-43 11 2.1 Charakteristika datového skladu podle Williama H. Inmona 2 DATOVÉ SKLADY všech transakcí za měsíc má naopak granularitu velkou.6 Inmon věří, že obsah datového skladu by měl být granulární (zrnitý) co nejvíce.7 První vlastností datového skladu, ve které se William H. Inmon od Ralpha Kimballa rozchází, je jeho skladba a následný vývoj. Inmon je zastáncem tzv. top-down8 přístupu, který spočívá ve vytvoření jednotného datového skladu pokrývajícího celý podnik. Jeho filozofii vystihuje následující lehce nadnesená citace. „Do not do anything until you have designed everything.” 9 Jinými slovy Inmon doporučuje nejprve vytvořit centralizovaný datový sklad v rámci celého podniku a až poté začít budovat satelitní databáze, které budou přizpůsobeny potřebám jednotlivých oddělení ve firmě. Tyto databáze nazýváme data marty nebo také „datovými tržišti”. Odlišné je i pojetí struktury dat. Inmon navrhuje, aby byl centrální datový sklad vytvořen v normalizovaném datovém modelu a z něj odvozené data marty, obsahující data pro specifický business proces, byly vytvořeny za pomoci dimenzionálního přístupu. 10 Normalizovaný datový model můžeme chápat jako entitně relační schéma, kde se každý údaj vyskytuje pouze jednou.11 Architekturu datového skladu tak, jak ji popisuje William H. Inmon, zobrazuje obrázek 2. Obrázek 2: Integrovaný datový sklad podle W.H. Inmona Zdroj: http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10736/concept.htm, Vlastní úprava 6 INMON, William Harvey. Building the Data Warehouse. 3rd ed. Wiley Publishing. Canada. 2002. str. 43 Nagesh V. Inmon vs. Kimball [online]. 25.8.2005, poslední revize 10.3.2010 [cit. 2010-03-15]. Dostupné z: <http://www.nagesh.com/publications/technology/173-inmon-vs-kimball-an-analysis.html> 8 Data warehouse - Wikipedia, the free encyklopedia [online]. poslední revize 15.3.2010 [cit. 2010-03-16]. Dostupné z: <http://en.wikipedia.org/wiki/Data_warehouse> 9 Kimball vs. Inmon...or, How to build a Data Warehouse [online]. 8.8.2006. [cit. 2010-03-19]. Dostupné z: <http://it.toolbox.com/blogs/confessions/kimball-vs-inmonor-how-to-build-a-data-warehouse-10987> 10 Data warehouse - Wikipedia, the free encyklopedia [online]. poslední revize 15.3.2010 [cit. 2010-03-16]. Dostupné z: <http://en.wikipedia.org/wiki/Data_warehouse> 11 Blíže se vysvětlení normalizovanému modelu věnuje kapitola 2.3. 7 ANUPINDI, 12 2.2 Charakteristika datového skladu podle Ralpha Kimballa 2 DATOVÉ SKLADY Výhody i nevýhody přímo vyplývají jak z definice datového skladu, tak i z jeho schématu zachyceném na obrázku. Zřejmě největší výhodou tohoto modelu je možnost relativně jednoduchého a rychlého vytvoření jednotlivých data martů. S tím je navíc spojen fakt, že data marty zůstávají velmi konzistentní, což je samozřejmě zapříčiněno tím, že jsou generovány z jednotného datového skladu. Za druhou velkou výhodu lze označit jednodušší načítací proces dat z provozních systémů. Hlavním důvodem je opět fakt, že data jsou ukládána do stejného centrálního datového skladu. Naopak za největší nevýhody lze považovat složitou a mnohdy i velmi nákladnou realizaci tohoto modelu. Samotná implementace je navíc časově náročná, a tak firmy mohou na požadovaný výsledek čekat velmi dlouho. Vycházíme z Inmonova tvrzení, které je uvedeno výše, že při budování datového skladu nejdříve vytvoříme centrální úložiště a až z něj se odvozují jednotlivé data marty. Je nutné dodat, že na tato negativní fakta upozorňuje William H. Inmon ve své knize v kapitole nazvané „Day 1-Day n Phenomenon”. Zde vysvětluje, že datový sklad není vytvořen najednou, ale že se do něj data ukládají postupně a tím pádem jsou spíše evoluční než-li revoluční.12 Tím se snaží popřít tzv. „big bang” přístup, za který ho někteří autoři kritizovali.13 Na druhou stranu se však lze domnívat, že i přesto se dříve popsané problémy nepodaří úplným způsobem eliminovat. 2.2 Charakteristika datového skladu podle Ralpha Kimballa Druhou nejdůležitější osobou v této oblasti je bezesporu Ralph Kimball. Jako první definoval koncept data martů a popsal využití dimenzionálního modelování včetně „star” a „snowflake” datových struktur14 . Jestliže William H. Inmon je nazýván „otcem datových skladů”, Ralph Kimball může být bezesporu nazván „otcem business intelligence”.15 Vzhledem k tomu, že se názory na budování datového skladu obou jeho zakladatelů poměrně hodně odlišují, věnuje se tato kapitola také přístupu Ralpha Kimballa. Ten ve své knize definuje datový sklad takto: „Data Warehouse is a copy of transaction data specifically structured for querying and reporting.” 16 Je vidět, že definice je daleko jednodušší a srozumitelnější než u jeho předchůdce. Přesto se však domnívám, že vyžaduje důkladnější vysvětlení. To lze nejlépe poskytnout pomocí rozboru jednotlivých částí datového skladu, které Kimball uvádí ve své publikaci17 . 12 INMON, William Harvey. Building the Data Warehouse. 3rd ed. Wiley Publishing. Canada. 2002. str. 41 Nagesh V. Inmon vs. Kimball [online]. 25.8.2005, poslední revize 10.3.2010 [cit. 2010-03-15]. Dostupné z: <http://www.nagesh.com/publications/technology/173-inmon-vs-kimball-an-analysis.html> 14 V českém jazyce mluvíme o schématech hvězdy a vločky. Oba termíny jsou vysvětleny v následující kapitole. 15 ANUPINDI, Nagesh V. Inmon vs. Kimball [online]. 25.8.2005, poslední revize 10.3.2010 [cit. 2010-03-15]. Dostupné z: <http://www.nagesh.com/publications/technology/173-inmon-vs-kimball-an-analysis.html> 16 GREENFIELD, Larry. The Data Warehousing Information Center [online]. 1995. poslední revize 14.1.2010 [cit. 201003-19]. Dostupné z: <http://www.dwinfocenter.org/defined.html> 17 KIMBALL, Ralph; ROSS Margy. The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling. 2nd ed. Wiley Publishing. Canada. 2002. str. 7-16 13 ANUPINDI, 13 2.2 Charakteristika datového skladu podle Ralpha Kimballa 2 DATOVÉ SKLADY Jak ukazuje obrázek 3, datový sklad by měl obsahovat čtyři samostatné a odlišné komponenty: 1. Operational source systems (provozní systémy) 2. Data staging area 3. Data presentation area 4. Data access tools (nástroje pro přístup k datům) Obrázek 3: Datový sklad podle Ralpha Kimballa Zdroj: Kimball, The Data Warehouse Toolkit. str. 7. Vlastní úprava Provozní systémy Provozní systémy zaznamenávají jednotlivé podnikové transakce. Je důležité si uvědomit, že v podstatě nejsou součástí datového skladu, nebot’ nad obsahem a formátem dat v nich obsažených máme velmi malou kontrolu. Za hlavní priority provozních systémů můžeme považovat výkon a dostupnost. Tyto systémy jsou častokrát tvořeny samostatnými aplikacemi, které nejsou optimalizovány na sdílení běžných dat mezi sebou, což vývoj datového skladu značně ztěžuje. Data staging area Za tuto oblast můžeme označit v podstatě vše mezi provozními systémy a data presentation area. Jedná se o místo, kde jsou data podrobena tzv. extract-transform-load (ETL) procesům.Ty umožňují firmám získat data z různých zdrojů, následně je přeformátovat či očistit a nakonec je načíst do jiného úložiště. 14 2.2 Charakteristika datového skladu podle Ralpha Kimballa 2 DATOVÉ SKLADY Prvním krokem v tomto procesu je extrakce. Extrahováním je myšleno čtení a porozumění zdrojových dat a jejich kopírování do data staging area za účelem další manipulace. Jak již bylo řečeno, extrakce většinou probíhá z několika různých provozních systémů, a tak jsou získaná data často nesourodá. Proto musí následovat fáze transformace dat. Její součástí je například očišt’ování dat (oprava pravopisných chyb, převod do standardního formátu), kombinování dat z různých zdrojů, de-duplikování dat a přidělování databázových klíčů. Posledním krokem ETL procesu je načítání dat do data presentation area. Tato fáze se liší podle toho, do jakého systému jsou data načítána. Pokud se jedná o provozní databázi či jiný normalizovaný systém, jsou data většinou přepsána, jedná-li se však o datový sklad, jsou neaktuální data zachována jako historická. Klíčovým požadavkem na tuto komponentu je, že musí být skryta před koncovým uživatelem a nesmí být používána k poskytování dotazovacích či prezentačních služeb. Data presentation area V data presentation area dochází k organizaci, uchovávání a zpřístupňování dat pro přímé dotazování uživateli či analytickými aplikacemi. Tato oblast je většinou tvořena několika integrovanými data marty. Jedním ze základních prvků této oblasti je, že data musí být prezentována, uložena a zpřístupněna v dimenzionálním schématu. Dimenzionální model sice obsahuje stejné informace jako model normalizovaný, ale v takové podobě, aby byly srozumitelné, vhodné pro dotazování a odolné vůči změnám.18 Dalším důležitým prvkem je, že data marty musí obsahovat atomická data, tedy data s nejnižší úrovní detailu. Atomická data jsou nezbytná kvůli odolnosti datového skladu vůči náporu nepředvídatelných uživatelských dotazů. Data marty mohou také obsahovat sumarizovaná nebo agregovaná data za účelem zrychlení výkonu. Všechna datová tržiště se musí skládat ze společných dimenzí a faktů19 . Toto pravidlo Kimball nazývá jako conformed, neboli stav, kdy si všechna datová tržiště odpovídají. To je také základem „data warehouse bus architecture” 20 . Bez sdílených dimenzí a faktů se data mart stává samostatnou aplikací. Tento fakt je nesmírně důležitý, nebot’ reálný systém v praxi se může skládat i z více než 20 různých data martů, a proto je jejich integrace za pomocí bus architektury nezbytná. Na tomto principu je v podstatě založen celý přístup a pohled Ralpha Kimballa na vývoj datových skladů. Nástroje pro přístup k datům Poslední z hlavních komponent datového skladu jsou nástroje pro přístup k datům. Termín se vztahuje ke všem schopnostem, které mohou být poskytnuty koncovým uživatelům na analytic18 Co je to dimenzionální a normalizované schéma bude vysvětleno v následující kapitolách. jsou vysvětleny v kapitole zabívající se dimenzionálním a normalizovaným přístupem. 20 Ve zbytku práce je používán termín bus architektura datového skladu. 19 Pojmy 15 2.2 Charakteristika datového skladu podle Ralpha Kimballa 2 DATOVÉ SKLADY kou podporu rozhodování. Toto je samozřejmě hlavní cíl a myšlenka datového skladu. Nástroj pro přístup k datům může být třeba jednoduchý dotaz stejně tak jako složitá aplikace pro dolování dat. Jako součásti datového skladu lze označit i tzv. metadata nebo také „operational data store” (ODS)21 , které se ovšem nepočítají mezi jeho hlavní komponenty. Za metadata lze považovat vše z prostředí datových skladů, co nejsou data samotná. ODS představuje zvláštní databázi, která často integruje data z více zdrojů, a proto se také využívá za účelem provozního reportování. Často se umíst’uje mezi datový sklad a provozní systém. Podle Kimballova přístupu by tedy mohl být ODS mezi data staging area a data presentation area. Druhým uplatněním je pro sklad provozních dat oblast CRM (Customer Relationship Management) systémů. Jak již bylo řečeno, datový sklad podle Ralpha Kimballa je založen na bus architektuře. Tu ve své knize definuje jako společnou strukturu, do které se vše zapojuje a ze které vše čerpá energii. Architektura je zároveň nezávislá na technologii a databázové platformě.22 Kimball se však neliší pouze v architektuře datových skladů, ale také v přístupu k jeho budování. Stejně jako u Inmona i zde se nabízí shrnout autorovu teorii do jedné citace. „Let everybody build what they want when they want it, we will integrate it all when and if we need to.” 23 Kimball tedy doporučuje začít s vytvářením data martů pro jednotlivé podnikové oddělení, které se následně spojí za pomocí již zmíněné bus architektury. Proto se také tento přístup nazývá „bottom-up”.24 Eventuálně může poté dojít ke sloučení datových tržišt’ dohromady a vytvoření jednoho datového skladu. V praxi mohou být jednotlivé data marty umístěny na jednom či několika jiných serverech v rámci celého podniku, zatímco datový sklad může být pouze virtuální entitou, která slučuje všechny data marty dohromady. Proto lze tvrdit, že, co se týče architektury datových skladů, tento model nabízí velmi dobrý kompromis mezi centralizovaným a decentralizovaným přístupem. Největší výhodou oproti Inmonově přístupu je ale bezesporu možnost rychlého inkrementálního vývoje, díky kterému se požadované výsledky dostaví daleko dříve než u implementace centralizovaného datového skladu. Kromě toho je také vývoj méně nákladný. Naopak za nevýhodu lze označit větší počet rozhraní mezi produkčními systémy a data marty stejně tak jako složitější integraci jednotlivých datových tržišt’. Oba dva faktory mají za následek zvýšení nároků na správu datového skladu. Vzhledem k tomu, že jsou data marty přímo odvozeny z jednotlivých podnikových oddělení a nevycházejí ze společného datového úložiště, lze se také domnívat, že bude docházet k určité redundanci dat. 21 Lze přeložit jako sklad provozních dat. Ralph; ROSS Margy. The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling. 2nd ed. Wiley Publishing. Canada. 2002. str. 78-79 23 Kimball vs. Inmon...or, How to build a Data Warehouse [online]. 8.8.2006. [cit. 2010-03-19]. Dostupné z: <http://it.toolbox.com/blogs/confessions/kimball-vs-inmonor-how-to-build-a-data-warehouse-10987> 24 ANUPINDI, Nagesh V. Inmon vs. Kimball [online]. 25.8.2005, poslední revize 10.3.2010 [cit. 2010-03-15]. Dostupné z: <http://www.nagesh.com/publications/technology/173-inmon-vs-kimball-an-analysis.html> 22 KIMBALL, 16 2.3 Normalizovaný a dimenzionální přístup k ukládání dat 2 DATOVÉ SKLADY V úvodní části práce byl tedy definován datový sklad z pohledu dvou hlavních představitelů v tomto oboru, Williama H. Inmona a Ralpha Kimballa. Byly uvedeny rozdílné přístupy k výstavbě datových skladů i k jejich architektuře a zároveň byly odvozeny jejich výhody a nevýhody. Nyní se tedy nabízí otázka, zda-li je možné považovat jeden přístup za jednoznačně lepší či výhodnější. Z historického hlediska má jistě navrch filozofie Williama Inmona, nebot’ právě on byl tím, kdo jako vůbec první termín datový sklad definoval. Není proto divu, že se v 90. letech používal téměř výhradně tento přístup. V následujících letech se ale začala prosazovat Kimballova teorie. Zvláště pro malé či střední firmy představovala daleko jednodušší a méně nákladný způsob, jak do svého podniku datový sklad začlenit.25 Lze usuzovat, že právě díky snazší implementaci a menším nákladům je i v dnešní době o něco častěji využíván přístup Ralpha Kimballa. Tyto dva faktory jsou navíc ještě umocněny současnou ekonomickou situací, kdy si žádná organizace nemůže dovolit vkládat velké částky peněz do dlouhotrvajících a předem nejistých projektů. Na závěr je však nutné říci, že cílem není vybrat si jeden přístup, podle kterého se pak budoucí vývoj datového skladu bude řídit. Daleko důležitější je ujasnit si potřeby a požadavky, které podnik k vytvoření datového skladu vedou a především soustředit se na jeho obsah a kvalitu dat. To, jestli se výsledné řešení bude více podobat jednomu či druhému přístupu, lze ponechat víceméně náhodě. 2.3 Normalizovaný a dimenzionální přístup k ukládání dat V předchozích kapitolách byl několikrát zmiňován normalizovaný a dimenzionální přístup, případně schéma či modelování. V této kapitole jsou všechny tyto pojmy vysvětleny a zároveň jsou určeny výhody a nevýhody obou přístupů s ohledem na jejich využití jako zdroje pro BI. Normalizovaný přístup Normalizovaný systém je takový systém, který prošel procesem normalizace a je tak optimalizovaný pro vkládání, upravování a mazání dat. Tyto operace se dají označit jedním slovem jako transakce.26 Normalizace je proces, při kterém dochází k odstraňování redundantních dat za pomoci normalizačních pravidel27 . Rozlišuje se pět různých úrovní tzv. normálních forem, přičemž za normalizovaný systém lze označit systém, který splňuje třetí normální formu (3NF). Proces normalizace vede většinou k tomu, že jediná transakce je uložena v několika rozdílných databázových tabulkách. 25 ANUPINDI, Nagesh V. Inmon vs. Kimball [online]. 25.8.2005, poslední revize 10.3.2010 [cit. 2010-03-15]. Dostupné z: <http://www.nagesh.com/publications/technology/173-inmon-vs-kimball-an-analysis.html> 26 Proto se také můžeme setkat s pojmem OLTP (online transaction processing) systémy. V souvislosti s datovými sklady je však častější termín operační databáze. 27 Normalizační pravidla definoval v roce 1970 Edgar F. Codd, proto se lze také setkat s názvem Coddova pravidla. V této práci nejsou dále rozebírána. 17 2.3 Normalizovaný a dimenzionální přístup k ukládání dat 2 DATOVÉ SKLADY Obrázek 4: Normalizovaný přístup Zdroj: Rainardi. Building a Data Warehouse. str. 9. Vlastní úprava Vzhledem k optimalizaci těchto systémů pro transakční spracování jsou nejčastěji používány k integraci dat z několika rozdílných zdrojů.28 Proto je v souvislosti s datovými sklady normalizovaný přístup využit v případě ODS nebo u Inmonova centralizovaného řešení.29 Snížení redundance dat má za následek také snížení celkové velikosti normalizovaných systémů. Naopak největší nevýhodou tohoto přístupu je jeho pomalá odezva při rozsáhlých analytických dotazech. To je způsobeno nevhodnou strukturou a dodržováním normalizačních pravidel. Databáze pak musí za účelem dosažení výsledku dotazu spojovat velké množství tabulek, což je samozřejmě daleko méně efektivní než číst data z jedné i když velmi obsáhlé tabulky. Dalším velkým nedostatkem normalizovaného přístupu je jeho složitost pro běžné uživatele.30 Podobu normalizované databáze zobrazuje obrázek 4. 28 Díky snížení redundance se data nemusí upravovat na více místech. Vincent. Building a Data Warehouse: With Examples in SQL Server. Apress. United States of America. 2008. str. 8-9 30 UTLEY, Craig. Designing the Star Schema Database [online]. 1995, Ver. 1.1 poslední revize 17.7.2008 [cit. 2010-0323]. Dostupné z: <http://ciobriefings.com/Publications/WhitePapers/DesigningtheStarSchemaDatabase/tabid/101/Default.aspx> 29 RAINARDI, 18 2.3 Normalizovaný a dimenzionální přístup k ukládání dat 2 DATOVÉ SKLADY Dimenzionální přístup Dimenzionální přístup nebo modelování je technika, která je určena pro optimalizaci databází za účelem podpory rozhodování v rámci rozsáhlých dotazů či jiných analytických technologií.31 Dimenzionální schéma musí být složeno z centrální faktové tabulky (či tabulek) a s nimi přidružených dimenzí. Každá faktová tabulka by přitom podle Ralpha Kimballa měla být v normalizovaném (typicky v třetí normální formě) zatímco dimenze v denormalizovaném stavu.32 Denormalizovaná databáze je databáze s určitým obsahem redundantních dat, která ještě neprošla procesem normalizace.33 Faktová tabulka • Faktová tabulka je jádrem dimenzionálního modelu a jsou v ní uložená analyzovaná data podniku. Jedna řádka ve faktové tabulce vyjadřuje určitou míru či hodnotu. Tyto míry by měly být vyjádřeny v číselné podobě tak, aby mohly kvantifikovat rozsah analyzované události jako např. počet objednávek, množství prodaného zboží nebo také dobu hovoru. • Velký význam má v dimenzionálních modelech granularita. Kimball ve své publikaci uvádí, že faktové tabulky by měly být navrhovány na nejnižší úrovni detailu, která je možná, tedy za pomoci atomických dat. Atomické faktové tabulky poskytují možnost jak data v budoucnu libovolně sumarizovat. Takto upraveným datům se někdy říká agregace. Kimball dále uvádí, že všechny faktové tabulky by měly být na stejné úrovni granularity, jinak by se mohly stát velmi nepřehledné. • Jak již bylo řečeno, klade se u faktových tabulek velký důraz na to, aby hodnoty v nich uvedené byly vyjádřeny číselně. Na tomto základě se rozlišuje několik typů dat. Většina jich je tzv. aditivní (např. tržby, zisk), což znamená, že se dají navzájem sčítat napříč všemi dimenzemi. Tato vlastnost je velmi důležitá, nebot’ Business Intelligence aplikace jen zřídkakdy načítají data z jedné faktové tabulky. Většinou se jedná o stovky až tisíce záznamů napříč celým systémem. Další hodnoty mohou být tzv. semi-aditivní a neaditivní. Semi-aditivní mohou být přidávány pouze k určitým dimenzím (např. podíl na trhu) zatímco neaditivní hodnoty nemohou být přičteny nikam (jednotková cena).34 • Co se týče počtu sloupců jsou faktové tabulky velmi malé, avšak obsahují většinou velké množství řádek. Díky tomu mohou zabírat až 90% celkové velikosti dimenzionálních databází. 31 FIRESTONE, Joseph M. Dimensional Modeling and E-R Modeling In The Data Warehouse [online]. 22.6.1998, [cit. 2010-03-24]. Dostupné z: <http://www.dkms.com/papers/dmerdw.pdf> 32 MUNDY, John; THORNWAITE, Warren; KIMBALL, Ralph et al. The Microsoft Data Warehouse Toolkit: With SQL Server 2005 and the Microsoft Business Intelligence Toolset. Wiley Publishing. Canada. 2006. str. 41 33 RAINARDI, Vincent. Building a Data Warehouse: With Examples in SQL Server. Apress. United States of America. 2008. str. 30 34 MUNDY, John; THORNWAITE, Warren; KIMBALL, Ralph et al. The Microsoft Data Warehouse Toolkit: With SQL Server 2005 and the Microsoft Business Intelligence Toolset. Wiley Publishing. Canada. 2006. str. 41-43 19 2.3 Normalizovaný a dimenzionální přístup k ukládání dat 2 DATOVÉ SKLADY Dimenze • Dimenzionální tabulky jsou nedílným společníkem faktových tabulek. Na rozdíl od nich obsahují dimenze textové popisy podniku.35 Dimenze si lze představit jako podstatná jména datového skladu, zatímco faktové tabulky představují slovesa nebo podnikové procesy, kterých se dimenze účastní. Každá dimenze musí být propojena se všemi podnikovými procesy, se kterými souvisí. • Atributy dimenzí slouží jako hlavní zdroj dotazů či reportů a mají tak v datovém skladu nepostradatelnou roli. Jsou klíčovým prvkem pro vytvoření srozumitelného datového skladu. Robustní dimenzionální atributy zároveň poskytují také možnost rozsáhlého analytického dotazování. • V dobře navrhnutém dimenzionálním modelu mají jednotlivé tabulky velký počet atributů, výjimkou nejsou ani tabulky obsahující 100 sloupců. I přesto jsou ale poměrně malé a nezabírají více než 10% celkové velikosti datového skladu.36 Jak se Ralph Kimball ve své publikaci domnívá, dimenzionální modelování je nejlepší technikou, pomocí které lze prezentovat informace uživatelům. Dimenzionální přístup umožňuje splňovat základní cíle datového skladu a tím i BI: • prezentovat uživatelům potřebné informace tím nejjednodušším způsobem • reagovat na uživatelské dotazy co nejrychleji • poskytovat relevantní informace, které vystihují základní podnikové procesy První bod lze vysvětlit tak, že dimenzionální model obsahuje daleko méně databázových tabulek než model normalizovaný. Informace jsou navíc spojeny do souvisejících podnikových kategorií, což má za následek to, že systém je mnohem jednodušší a uživatelé se v něm lépe orientují.37 Jednoduchost dimenzionálního modelu přináší také výkonnostní benefity. Databáze mohou tato schémata procházet daleko efektivněji díky nižší potřebě spojovat jednotlivé tabulky. Uživatelské dotazy tak v porovnání s normalizovaným přístupem trvají daleko kratší dobu.38 I přesto, že termín Business Intelligence a jeho jednotlivé nástroje ještě nebyly definovány, lze se domnívat, že více výhod mu bude poskytovat spojení s datovým skladem a to právě díky jeho dimenzionální struktuře. Jedině ta, jak již bylo zmíněno, umožňuje vytváření rozsáhlých analytických dotazů, na jejichž funkci je princip BI založen. 35 KIMBALL, Ralph; ROSS Margy. The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling. 2nd ed. Wiley Publishing. Canada. 2002. str. 18-19 36 KIMBALL, Ralph; ROSS Margy. The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling. 2nd ed. Wiley Publishing. Canada. 2002. str. 19-21 37 MUNDY, John; THORNWAITE, Warren; KIMBALL, Ralph et al. The Microsoft Data Warehouse Toolkit: With SQL Server 2005 and the Microsoft Business Intelligence Toolset. Wiley Publishing. Canada. 2006. str. 40-41 38 KIMBALL, Ralph; ROSS Margy. The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling. 2nd ed. Wiley Publishing. Canada. 2002. str. 22 20 2.3 Normalizovaný a dimenzionální přístup k ukládání dat 2 DATOVÉ SKLADY Hvězdicové schéma Dimenzionální datový sklad může být výsledně implementován pomocí dvou různých schémat.39 Tím prvním je schéma hvězdy. Podle Ralpha Kimballa se jedná o model, který se skládá z centrální faktové tabulky (nebo tabulek) a k ní připojených dimenzí. Všechny faktové tabulky se skládají z několika cizích klíčů, které se připojují k primárním klíčům dimenzí. Velký důraz se klade na to, aby každý cizí klíč uvedený ve faktové tabulce měl svůj unikátní primární klíč v příslušné dimenzi. Tento návrh umožňuje, aby se v dimenzionálních tabulkách vyskytovaly primární klíče, které nejsou uvedeny ve faktové tabulce. V reálné situaci to může znamenat například to, že dimenze produktu může být spojena s faktovou tabulkou prodeje, ve které se však ještě nějaké produkty vůbec neprodaly, což je ale naprosto v souladu s principem zachování integrity a pravidel dimenzionálního modelování.40 Vzhled hvězdicového schématu demonstruje obrázek 5. Obrázek 5: Hvězdicové schéma Zdroj: http://en.wikipedia.org/wiki/File:Star-schema-example.png. Vlastní úprava Vločkové schéma Schéma vločky vychází z hvězdicového schématu ovšem s tím rozdílem, že u tohoto modelu mohou mít jednotlivé dimenze další poddimenze. Díky tomu pracují některé analytické aplikace s tímto modelem lépe než s hvězdicovým schématem. Jako výhody jsou v tomto případě uváděny menší míra redundance dat a tím pádem i menší celková velikost.41 Ralph Kimball má však na vločkové schéma jiný pohled. Ve své knize tvrdí, že vločkové 39 Možností je více, v této práci ale pracuji pouze se dvěma nejdůležitějšími. Ralph. Fact Tables and Dimension Tables - Intelligent enterprise [online]. 1.1.2003, [cit. 2010-03-25]. Dostupné z: <http://intelligent-enterprise.informationweek.com/030101/602warehouse1_1.jhtml> 41 RAINARDI, Vincent. Building a Data Warehouse: With Examples in SQL Server. Apress. United States of America. 2008. str. 7 40 KIMBALL, 21 2.3 Normalizovaný a dimenzionální přístup k ukládání dat 2 DATOVÉ SKLADY schéma vede k větší komplexitě celého modelu a tím se také zmenšuje schopnost jeho využití. Ve své knize doslova uvádí: „Snowflaking involves re-normalizing the dimensions to the third normal form level, usually under the misguided belief that this will improve maintability, increase flexibility, or save space. We discourage snowflaking.”42 Ve své další publikaci navíc argumentuje tím, že vzhledem k tomu, že dimenze z pohledu celkové velikosti dimenzionální databáze zabírají pouze malý zlomek, je v podstatě zbytečné přecházet na normalizované schéma.43 Na obrázku 6 jsou zobrazeny stejné faktové tabulky a dimenze jako v obrázku předchozím, nyní ovšem ve vločkovém schématu. Obrázek 6: Vločkové schéma Zdroj: http://en.wikipedia.org/wiki/File:Snowflake-schema-example.png. Vlastní úprava 42 MUNDY, John; THORNWAITE, Warren; KIMBALL, Ralph et al. The Microsoft Data Warehouse Toolkit: With SQL Server 2005 and the Microsoft Business Intelligence Toolset. Wiley Publishing. Canada. 2006. str. 58 43 KIMBALL, Ralph; ROSS Margy. The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling. 2nd ed. Wiley Publishing. Canada. 2002. str. 21 22 3 3 BUSINESS INTELLIGENCE Business Intelligence V předchozí kapitole byl představen datový sklad jako dimenzionální databáze. Ovšem účel datového skladu nespočívá v ukládání dat, nýbrž v jejich získávání a prezentování, a to takovým způsobem, aby byla srozumitelná a přinášela uživatelům nějakou přidanou hodnotu. Toho lze dosáhnout v případě spojení datového skladu s Business Intelligence. Proto se tato kapitola zabývá způsoby prezentace dat, kterých jsou BI nástroje díky datovým skladům schopné. Zároveň zde bude kladen velký důraz na zobrazení výhod, které z tohoto spojení pro BI plynou. V závěru této kapitoly budou nastíněny současné trendy ve vývoji obou zmiňovaných systémů. Ještě než budou vysvětleny jednotlivé typy BI, je nutné definovat samotný pojem. Data Warehousing Institute, poskytovatel vzdělávacích a instruktážních programů v oblasti datových skladů a BI, definuje Business Intelligence takto: „The processes, technologies, and tools needed to turn data into information, information into knowledge, and knowledge into plans that drive profitable business action.” Zároveň uvádí, že BI zahrnuje datové sklady, analytické nástroje a znalostní management. Tato definice je velmi výstižná, nebot’ zachycuje hierarchii jednotlivých úrovní podnikové inteligence. Zároveň také poukazuje na dva kriticky důležité faktory: • BI představuje víc než jen soubor nástrojů. Bez příslušných procesů a uživatelů ztrácí BI svoji hodnotu. • Hodnota BI je vždy realizována v kontextu s výnosnou podnikovou činností. Tím je myšleno, že pokud je znalost, která může být využita k výnosné činnosti, ignorována, ztrácí BI svůj význam. V souvislosti s těmito definicemi však dochází k zaměňování pojmů data, informace a znalosti. Proto jsou zde tyto pojmy vysvětleny: • Data jsou kolekcí prvotních, nezpracovaných hodnot, které jsou používány pro výpočet měření či různých úvah. Data mohou být shromažd’ována, uchovávána či zpracována, ovšem nemohou z nich být interpretovány žádné souvislosti. • Informace jsou výsledkem shromažd’ování a organizování dat tak, aby byly mezi jednotlivými daty navázány vztahy a z nich šlo následně vyvodit určitý smysl či význam. • Znalost je proces porozumění informací založený na urřitých vzorech takovým způsobem, aby došlo k pochopení jejich podstaty.44 Tato definice se poměrně striktně zaměřuje na podstatu BI a kromě zmínky o datových skladech vůbec nevyjadřuje, jakým způsobem spolu tato dvě témata souvisí. Vzhledem k pojetí a cíli této práce je tak princip BI daleko lépe vysvětlen v publikaci Joye Mundyho. 44 LOSHIN, David. Business Intelligence - The Savvy manager’s guide. Getting Onboard with Emerging IT. Morgan Kaufmann Publishers. United States of America. 2003. str. 6-7 23 3.1 Reporty 3 BUSINESS INTELLIGENCE V tom nejširším pojetí znamená Business Intelligence využívání informací za účelem vytváření lepších rozhodnutí. Mnoho definic tak jako synonymum k BI uvádí termín decision support system (DSS) neboli systém na podporu rozhodování. Význam tohoto pojmu původně odkazoval na strukturovanou vrstvu pro přístup k datům nacházející se mezi uživateli a datovým skladem. Z toho plyne, že BI bylo popisováno jako samostatné odvětví přímo nesouvisející s datovým skladem. Přestože je teoreticky možné využívat BI aplikace bez datových skladů, ve skutečnosti se to stává jen zřídkakdy. Dobře navržený datový sklad totiž díky dimenzionálnímu modelu a ETL procesu přidává datům takovou hodnotu, že je naprosto zbytečné vynakládat tuto snahu za účelem vytvoření pouze samostatné BI aplikace. Většina z těchto aplikací jsou navíc nedílnou součástí datového skladu.45 Business Intelligence a datové sklady jsou tedy dva rozdílné pojmy, ovšem jeden bez druhého v podstatě ztrácí smysl. Stejně tak jako jsou datové sklady od začátku do konce budovány s tím, že budou sloužit jako zdroj dat pro BI, by i BI nástroje měly být do firmy zaváděny pouze za předpokladu, že dojde k vybudování datového skladu. BI aplikace představují přímé využití pro datové sklady, nebot’ s provozními databázemi by nikdy podniku nepřinesly takovou přidanou hodnotu. Přínosy datového skladu pro jednotlivé části BI jsou uvedeny v následujících kapitolách. Business Intelligence nástroje lze rozdělit do dvou základních kategorií. Těmi jsou reporty a analytické aplikace, do kterých dále spadá analýza, data mining, text mining, přehledové zobrazení atd. V této práci se však z hlediska jejího zaměření věnuji především reportům, analýze a data miningu, v části věnující se současnému vývoji bude pak zmíněna technologie text mining.46 3.1 Reporty V tomto kontextu je report program, který získává data z datového skladu a prezentuje je uživatelům na obrazovce či na papíru. Uživatelé také mohou tyto reporty přijímat automaticky třeba pomocí e-mailu po určité době (den, týden atd.) nebo v závislosti na nějakou událost. Reporty se nejčastěji získávají z datových skladů, mohou však pracovat i s normalizovanou relační databází či dokonce s multidimenzionální databází.47 Reporty jsou těmi nejzákladnějšími nástroji Business Intelligence spektra. Jedná se o většinou relativně jednoduché výkazy, které se dají parametrizovat, a které mají již předem definovaný formát. Lze se ale setkat i s automatickými, statickými reporty. Všechny reporty mají však společné to, že poskytují uživatelům základní soubor informací o tom, co se děje v dané oblasti podniku. I přes svůj jednoduchý princip jsou právě reporty tím nejznámějším a nejvíce využívaným BI nástrojem v dnešním světě a pro velkou skupinu uživatelů představují v praxi každodenní rutinu.48 45 MUNDY, Joy; THORNWAITE, Warren; KIMBALL, Ralph et al. The Microsoft Data Warehouse Toolkit: With SQL Server 2005 and the Microsoft Business Intelligence Toolset. Wiley Publishing. Canada. 2006. str. 355 46 Pro zbylé nástroje BI nepředstavuje datový sklad nutný zdroj dat. 47 RAINARDI, Vincent. Building a Data Warehouse: With Examples in SQL Server. Apress. United States of America. 2008. str. 329-330 48 MUNDY, Joy; THORNWAITE, Warren; KIMBALL, Ralph et al. The Microsoft Data Warehouse Toolkit: With SQL Server 24 3.1 Reporty 3 BUSINESS INTELLIGENCE Pokud pomineme existenci administrativních reportů a budeme brát v úvahu pouze ty uživatelské, lze reporty rozdělit následovně: • Standardní reporty - tyto reporty jsou určeny k tlumočení stavu podniku a jsou většinou velmi jednoduché, příkladem může být výkaz rozpočtu vůči reálným tržbám či výkaz nákladů. Do této skupiny lze však zařadit také reporty, které získávají data pouze z jedné tabulky, většinou za účelem kontroly určitého obchodu, zákazníka, produktu atd. • Strukturované reporty - na rozdíl od předchozího typu, tyto reporty běžně prezentují informace napříč podnikem a spojují tak typicky všechny dimenze s faktovou tabulkou. Zároveň mohou být parametrizovány, aby umožnily uživatelům modifikovat jejich vzhled dle potřeby. Typickým příkladem může být přehled týdenních tržeb v daném regionu a v určitém období. • Ad hoc reporty - tyto reporty umožňují uživatelům formulovat vlastní dotazy přímo do databáze. Některé systémy poskytují pomocné nástroje na vytváření těchto dotazů, tak, aby je byli schopni vytvářet i uživatelé, kteří nemají dostatečné znalosti se syntaxí dotazovacího jazyka. • Tzv. exception-based reporty - tyto reporty jsou generovány na základě určité události, která se stala v podniku, a mají tak za úkol spíše upozornit uživatele než jim poskytovat různé výkazy.49 Nyní již lze poměrně snadno určit největší výhodu reportů. Tou je bezesporu jejich jednoduchost. Reporty je jednoduché vytvořit, spravovat i používat. Další výhodou je také to, že reporty lze prezentovat v libovolném tabulkovém formátu, například ve formátu Excel, což, vzhledem k popularitě Microsoft Office aplikací, poměrně velkým způsobem přispívá jejich uživatelské přívětivosti. Největší nevýhodou reportů je naopak jejich nízká flexibilita. Obecně lze říci, že reporty jsou před ostatními nástroji BI upřednostňovány ve chvíli, kdy jsou požadavky na formu prezentace jednoduché a spíše statického rázu. Ve chvíli, kdy chce uživatel pozměnit data nebo je vidět na jiné úrovni detailu, je nutné celý report předělat a znovu vygenerovat. U ostatních analytických nástrojů tato potřeba mizí a je tak dosaženo daleko větší flexibility.50 V úvodu kapitoly bylo řečeno, že reporty dokáží pracovat jak s datovými sklady, tak i s jinými druhy databází. Na závěr je však nutné říci, že v podstatě všechny výhody reportů výše uvedené (především jejich jednoduchost) jsou přímo závislé na datovém skladu. Jedině dimenzionální struktura je schopna zaručit, že reporty budou za každé situace stále srozumitelné a snadné na vytváření. V případě standardních reportů je tak zaručeno, že se při výpisu dimenze zákazníka opravdu zobrazí veškeré požadované atributy bez nutnosti spojování dalších tabulek. Naopak u strukturovaných reportů je díky hvězdicové struktuře datového skladu zaručeno, že 2005 and the Microsoft Business Intelligence Toolset. Wiley Publishing. Canada. 2006. str. 356 49 LOSHIN, David. Business Intelligence - The Savvy manager’s guide. Getting Onboard with Emerging IT. Morgan Kaufmann Publishers. United States of America. 2003. str. 54 50 RAINARDI, Vincent. Building a Data Warehouse: With Examples in SQL Server. Apress. United States of America. 2008. str. 357, 412 25 3.2 Analýza (OLAP) 3 BUSINESS INTELLIGENCE i přes spojení relativně velkého množství tabulek bude tento proces stále srozumitelný a přehledný. Lze tedy tvrdit, že pouze ve spojení s datovými sklady jsou reporty schopné dodržet svůj charakter jednoduchých a často využívaných nástrojů. 3.2 Analýza (OLAP) Vincent Rainardi definuje OLAP analýzu následovně: „Online analytical processing is the activity of interactively analyzing business transaction data stored in the dimensional data warehouse to make tactical and strategic business decisions.” Uživatelé, kteří pracují s analytickými nástroji, mohou být například business analytici či manažeři ale také vedení firmy. Typickým případem, kdy se analýza používá, může být pak analyzování dopadu zdražení produktu na tržby v jednotlivých zemích či městech v určitém časovém období. Aby se opravdu jednalo o OLAP analýzu, musí proces získávání dat probíhat vždy z dimenzionálního datového skladu, at’ už je založen na relačním či multidimenzionálním formátu. Právě na základě tohoto faktoru lze OLAP rozdělit na: • MOLAP - Multidimensional online analytical processing, jako zdrojový systém se používá multidimenzionální databáze • ROLAP - Relational online analytical processing, jako zdrojový systém se používá relační datový sklad • HOLAP - Hybrid online analytical processing, jako zdrojový systém se používá jak relační tak multidimenzionální databáze51 MOLAP MOLAP lze popsat jako analytický nástroj, který získává data ze speciální struktury zvané multidimenzionální databáze (MDD). V první části této kapitoly je proto vysvětleno, jak tato databáze vypadá a jakým způsobem funguje. Zbytek kapitoly se již věnuje možnosti MDD a jejím výhodám či nevýhodám. Multidimenzionální databáze se skládá z číselných hodnot, které jsou kategorizovány podle dimenzí. Vzhledem k tomu, že se MDD typicky získává z hvězdicového schématu datového skladu, je poměrně jednoduché si představit, jak tento proces probíhá. Dimenze jsou odvozeny z dimenzionálních tabulek a jednotlivé hodnoty pak z faktové tabulky.52 Nejlépe však lze MDD ilustrovat jako kostku, jejíž hrany tvoří dimenze. Zmiňované hodnoty jsou pak obsaženy v tzv. buňkách, přičemž jednotlivé dimenze slouží jako osy pro určení jejich polohy. Tyto hodnoty mohou být jak agregované, tak atomického charakteru. Důležité však je, 51 RAINARDI, Vincent. Building a Data Warehouse: With Examples in SQL Server. Apress. United States of America. 2008. str. 380-381 52 Online analytical processing - Wikipedia, the free encyklopedia [online]. poslední revize 14.4.2010 [cit. 2010-04-18]. Dostupné z: <http://en.wikipedia.org/wiki/Olap> 26 3.2 Analýza (OLAP) 9314ch12final.qxd 11/15/07 10:01 AM 3 Page 379 BUSINESS INTELLIGENCE aby byly aditivní53 . Každá buňka představuje jednu podnikovou událost a hodnoty dimenzí pak vyjadřují kde a kdy se stala. CHAPTER 12 ■ MULTIDIMENSIONAL DATABASE Obrázek 7: Multidimenzionální databáze Zdroj:ofRainardi. Building a Data Warehouse. str. 379 Figure 12-2. Visualization a multidimensional database with three dimensions the other hand,jethe drawback of using ačíslo multidimensional database Příklad On takovéto kostky uveden na obrázku 7. Hrany kostky tvořícompared dimenze to produktu, using a relational database is the processing time required for loading the database and calcu- zákazníka a the času, přičemž jejichWhenever kombinace nasource jednotlivé buňky,the které lating aggregate values. theukazuje relational is updated, MDBobsahují needs tohodnoty be updated reprocessed; in other words, the aggregate cells need to be recalculated (it doesn’t tržeb, náklad ů aorzisku. have to be done in real time). The second drawback is the scalability: an MDB may not scale Hlavní využití databázeoroproti databázím jsou menší spowellvýhody for a very large multidimenzionální database (multiple terabytes) a largerelačním number of dimensions. třeba místa na disku a lepší výkon. Příčinou toho, proč MDD zabírá v porovnání s relačním dimenzionální modelem méně místa je hlavně to, že je komprimovaná a nepoužívá indexování. ■Note The term multidimensional database is often confused with the term online analytical processing, Větší výkon je terms zasehave způsoben tím, že MDD předkalkulované agregované hodnoty a and OLAP is the activity used to analyze but these different meanings. An MDBobsahuje is the database, An OLAP cube has the same meaning the database. The uložení confusionna is caused word OLAP cube. díky svému způsobu disku by sethe minimalizuje počet vstupn ě výstupních operací.as an MDB; it means a multidimensional database. We’ll talk about OLAP in the next section. Na druhou stranu velkou nevýhodou MDD oproti relační databázi je doba, jakou trvá výpočet agregovaných hodnot a její uvedení do produkce. Nehledě na to, že pokud dojde k úpravě zdrodatabase world know that annedostatkem RDBMS is theje system that manages a není jových dat, Most MDDpeople musí in býtthe také aktualizována. Dalším škálovatelnost. MDD relational database. What do we use to manage multidimensional databases? The system that manages and operates multidimensional databases is called a multidimensional database system database systems are also known as OLAPoperace servers oracube Poté, co(MDBMS). byla vysvMultidimensional ětlena struktura MDD, je již možné definovat konkrétní možnosti, engines. Examples of an MDBMS are Microsoft SQL Server Analysis Services, Hyperion Esskteré přináší uživatelům. Mezi základní operace patří: base, and Cognos PowerCube. Business Objects and MicroStrategy don’t have an MDBMS; they use ROLAP (I’ll talk about ROLAP in the next section). • Slicing slicing neboli „krájení” představuje proces získávání dat z(http://www. datové kostky ovšem The- standard interface to connect to an MDBMS is XML for Analysis xmlforanalysis.com/), which is z known XMLA. For using SQL Server Reporting na základě konkrétní hodnoty jednéasdimenze. Taexample, je pak zobrazena v kontextu se zbylými Services, we can connect not only to Analysis Services cubes but also to Hyperion Essbase nefiltrovanými dimenzemi a hodnotami. Tento případ ilustrujeSAP, obrázek 8 na kostceXMLA. uvedené cubes using XMLA. Microsoft, Hyperion (now owned by Oracle), and SAS support is a .NET data provider that uses XMLA to communicate the analytical data v ADOMD.NET předchozí části. sources. příliš vhodná pro velké databáze nebo pro databáze s velkým počtem dimenzí. • Dicing - dicing neboli „sekání” datové struktury je proces získávání dat na základě filtrování více dimenzí. Tak je umožněno vymezit požadovaný prostor, který se bude následně 53 Právě aditivita zaručuje to, že lze jednotlivé hodnoty sčítat. Je však nutné dodat, že ve chvíli, kdy se OLAP kostka vytváří z datového skladu, který je navržen podle hvězdicového schématu a má tedy faktovou tabulku obsahující číselné hodnoty, je tato aditivita v podstatě automaticky zaručena. 27 379 3.2 Analýza (OLAP) 3 BUSINESS INTELLIGENCE analyzovat. Příklad je zobrazen v levé části obrázku 8. Je vidět, že došlo k filtrování pouze určitých zákazníků, produktů a v určitém období. Obrázek 8: Slicing a dicing MDD Zdroj: Rainardi. Building a Data Warehouse. str. 413. Vlastní úprava • Drilling up - pro pochopení tohoto pojmu je nutné uvést, jakým způsobem jsou data v dimenzích MDD uložena. Pro definování této struktury se zavádí pojem hierarchie. „Hierarchy is a systematic way of organizing each of the elements of a dimension-or so called ’Members’- into a logical tree strucutre which defines parent-child aggregation points, where parent members correspond to the consolidation of children members.” 54 Definice zní poněkud složitě, ovšem na konkrétním příkladě si lze hierarchii velice jednoduše představit. Obrázek 9 znázorňuje produktovou hierarchii, kdy se strom postupně člení na kategorie, typy a jednotlivé produkty. Důležité je podotknout, že mezi jednotlivými členy na odlišných úrovních musí být vždy vztah 1:M. Nyní, když je vysvětlena definice hierarchií je již velmi snadné definovat pojem drilling up. Jedná se o prezentování dat na vyšší úrovni dané hierarchie. Nebo také přecházení z nižší úrovně na vyšší. • Drilling down - drilling down je přesný opak předchozího případu. Jedná se tedy o prezentaci dat na nižších úrovních hierarchií.55 MOLAP je bezpochyby nejvyužívanějším typem analýz právě pro svoji specializovanou strukturu, která umožňuje naprosto přirozený pohled na dané podnikové odvětví nebo činnost. Zároveň se také podílí na stále vzrůstající oblibě analytických nástrojů. V dnešní době se analytické řízení stává stále běžnější věcí a uvědomují si to i velké firmy, které nástroje poskytují. Jako opravdu zajímavý lze například označit krok společnosti Microsoft, která již od verze Office 2007 podporuje 54 Hierarchy - OLAP.com, Your Source to Learn about OLAP [online]. poslední revize 9.3.2009 [cit. 2010-04-19]. Dostupné z: <http://www.olap.com/w/index.php/Hierarchy> 55 RAINARDI, Vincent. Building a Data Warehouse: With Examples in SQL Server. Apress. United States of America. 2008. str. 377-379, 414 28 3.2 Analýza (OLAP) 3 BUSINESS INTELLIGENCE analytické dotazování ve svém kancelářském programu Excel. Takto se dostává velice mocný nástroj ovšem v již známém prostředí do rukou velkého počtu lidí. Obrázek 9: Produktová hierarchie Přestože MOLAP analýza získává data z multidimenzionální databáze, jsou i zde výhody spojení s datovým skladem zcela patrné. Díky tomu, že jsou datové sklady navrženy pomocí hvězdicového schématu, které téměř odpovídá struktuře MDD, stává se vytvoření datové kostky snadnou záležitostí. ROLAP Jak bylo uvedeno dříve, ROLAP je druh analýzy, která získává data z relačního databázového skladu. ROLAP ponechává data v původních tabulkách a spoléhá se na SQL příkazy, kterými požadovaná data vyhledává. Nejdůležitějším mechanismem je zde však využívání agregací. Ty jsou tvořeny z faktové tabulky, přičemž jejich výsledný počet je dán všemi možnými kombinacemi granularit jednotlivých dimenzí. Problémem ovšem je, že tento počet je opravdu velký a v podstatě nelze zaručit, aby byly tímto způsobem předpřipraveny veškeré výpočty. Díky tomu se musí zbylé hodnoty sčítat až pomocí sum a group klauzulí v SQL příkazech, což má za následek zpomalení celého procesu. Další výhody a nevýhody tohoto přístupu byly uvedeny již v předchozí kapitole. HOLAP Je známo, že HOLAP analýza je schopna získávat data jak z multidimenzionálních, tak z relačních databází, ovšem přesná definice tohoto pojmu zatím nebyla stanovena. Jako příklad fungujícího HOLAP přístupu si lze představit stav, kdy je velké množství detailních dat uloženo v relační databázi a z nich je pouze část obsažena v MDD v podobě agregovaných hodnot. Díky tomu HOLAP analýza spojuje výhody obou předchozích přístupů, ovšem nástrojů, které tuto funkčnost umožňují, je zatím poměrně málo.56 56 Online analytical processing - Wikipedia, the free encyklopedia [online]. poslední revize 14.4.2010 [cit. 2010-04-19]. Dostupné z: <http://en.wikipedia.org/wiki/Olap> 29 3.3 Data Mining 3 BUSINESS INTELLIGENCE Na závěr této kapitoly je nutné uvést srovnání OLAP analýzy vůči reportům i proto, že je hranice mezi těmito nástroji často nejasná. Největší výhodou analytických aplikací je zajisté jejich flexibilita a interaktivita. Pokud uživatelé dopředu nevědí, co přesně budou analyzovat, je obecně lepší využít analytických než reportovacích nástrojů. Naopak za největší nevýhodu lze označit poměrně velkou složitost. Uživatel již na rozdíl od reportů musí rozumět dané struktuře (většinou datové kostky) a musí ji umět správně použít. OLAP nástroje jsou také náročnější na údržbu nebot’ se musí pravidelně aktualizovat.57 3.3 Data Mining Jestliže předchozí dvě kategorie Business Intelligence nástrojů byly alespoň co se týče výstupů relativně podobné, data mining je kapitolou sám pro sebe. Je také nutné říci, že se jedná o kapitolu velmi rozsáhlou, v dnešním světě tvořící v podstatě samostatné odvětví. Nárůst popularity data miningu jde ruku v ruce s tím, jak se konkurenční boj stává stále těžším a těžším. Výsledkem je, že firmy se nebojí vkládat do této oblasti více finančních prostředků, a tak se toto odvětví poslední dobou velmi rozrůstá. Na rozvoj data miningu má dále velký vliv stále se zdokonalující a přitom dostupnější výpočetní technika a samozřejmě také současná ekonomická situace. V souvislosti s rozsahem tohoto tématu považuji za nutné zmínit, že tato práce si nebere za úkol popsat kompletní disciplínu do detailů, nýbrž poukázat na spojení s datovými sklady, vysvětlit hlavní metody data miningu a také uvést příklady jeho využití. Konkrétní aplikace těchto metod a příkladů bude zpracována v praktické části. Co je a co není data mining? Autoři knihy Data Mining Techniques definují data mining následovně: „Data mining, as we use the term, is the exploration and analysis of large quantities of data in order to discover meaningful patterns and rules.” 58 Na první pohled však tento termín spíše evokuje myšlenku starodávného zlatokopa, který se musel probírat obrovským množstvím bahna, aby našel oněch pár vysněných kousků zlata a tím tak celý proces nabyl smyslu. Pokud by se tato myšlenka přeložila, aby odpovídala informačnímu světu, jednalo by se o analytika probírající se terabyty dat a hledající nějakou hodnotnou informaci. Ovšem tato myšlenka již v dnešním světě v podstatě neexistuje, dnes je za „data minera” označován každý, kdo provádí jakékoliv databázové dotazy. Dle definice je ovšem jasné, že by to tak nemělo být. Proto lze v kontextu s data miningem zavést ještě jeden pojem, který lépe vyjadřuje podstatu věci. Jedná se o pojem knowledge discovery. Tento termín odkazuje na proces objevování vzorů, které vedou k získání znalostí z velkého 57 RAINARDI, Vincent. Building a Data Warehouse: With Examples in SQL Server. Apress. United States of America. 2008. str. 416 58 BERRY, Michael J.A.; LINOFF, Gordon S. Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management. 2nd ed. Wiley Publishing. Indianopolis (Indiana). 2004. str. 7 30 3.3 Data Mining 3 BUSINESS INTELLIGENCE množství dat pomocí jedné z data miningových metod.59 Data mining se dá rozlišit podle dvou různých přístupů. Tím prvním je případ, kdy je znám problém, který je třeba řešit a metody data miningu jsou tak využívány za účelem odhalení souvislostí mezi konkrétními podnikovými daty. Tento přístup je nazván directed data mining. Opačný přístup, undirected data mining, vyjadřuje proces využívání metod k nalezení jakýchkoliv zajímavých souvislostí, které by vedly k dalšímu využití.60 Nyní, když jsou známy oba přístupy, lze se zamyslet nad srovnáním data miningu s ostatními BI nástroji, především pak s OLAP analýzou. Lze říci, že všechny dříve uvedené nástroje jsou schopny analyzovat obrovské množství dat. Tak kde je v tom případě rozdíl? Ten největší je právě v tom, že u předchozích analytických nástrojů se vždy zkoumá nějaký již známý fakt, at’ už na základě hypotéz či odhadů business analytiků. U data miningu však lze kromě toho hledat také nové, dosud nepoznané vztahy a myšlenky. Tato možnost odpovídá výše definovanému undirected přístupu.61 Data mining a datový sklad Data mining je proces, který vyžaduje přístup k velkému množství dat a tato data se musí nacházet ve spolehlivém stavu. Problémem u velkých firem je, že shromažd’ují terabyty dat, většinou ale za účelem jednorázového využití v provozním systému. Jakmile tato data naplní svůj účel (účetnictví atd.), jsou automaticky zálohována na pásku a z podniku tak nadobro mizí dřív, než se z nich stačí vytěžit nějaké informace.62 A proto se jako zdroj pro data mining využívá v naprosté většině případů datový sklad, který je díky svým vlastnostem schopen zaručit veškeré požadavky, které pro svoji funkci data mining potřebuje. Datový sklad nejenom že většinou umožňuje získat požadovaný rozsah dat, ale obsahuje také potřebná historická data. Vzhledem k tomu, že velký počet data miningových metod vyžaduje jeden soubor dat pro své výpočty, které jsou následně otestovány na jiném souboru, je přítomnost historických dat a obecně tedy datového skladu téměř nezbytná.63 Využití a metody data miningu Na úvod této části je nutné uvést, že terminologie v oblasti datových skladů není ještě úplně standardizována. Ve většině zdrojů se nejprve definují možné způsoby využití data miningu64 a zvlášt’ potom matematické operace, pomocí kterých se daný business proces analyzuje. Tyto operace mají ovšem v mnoha případech stejný název, a tak dochází k záměně pojmů. Aby se tomu 59 V této práci jsou oba pojmy používány ve stejném významu. David. Business Intelligence - The Savvy manager’s guide. Getting Onboard with Emerging IT. Morgan Kaufmann Publishers. United States of America. 2003. str. 205, 208 61 MOSS, Larissa T.; ATRE, Shaku. Business Intelligence Roadmap:The Complete Project Lifecycle for Decision-Support Applications. Pearson Education. Canada. 2003. s. 306 62 BERRY, Michael J.A.; LINOFF, Gordon S. Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management. 2nd ed. Wiley Publishing. Indianopolis (Indiana). 2004. str. 4-5 63 LOSHIN, David. Business Intelligence - The Savvy manager’s guide. Getting Onboard with Emerging IT. Morgan Kaufmann Publishers. United States of America. 2003. str. 206-207 64 Možnými způsoby využití jsou myšleny jednotlivé metody data miningu. 60 LOSHIN, 31 3.3 Data Mining 3 BUSINESS INTELLIGENCE předešlo i v této práci, jsou zde data miningové metody a operace uváděny společně, ovšem s tím, že hlavní důraz je kladen na znázornění jednotlivých metod, spíše než matematických operací. Data mining lze využít v následujících případech: • Classification - metoda klasifikace se skládá ze zkoumání vlastností nově přítomného objektu a jejich přiřazování jedné z předem definovaných tříd. Objekty, které se klasifikují, jsou většinou reprezentovány jednotlivými řádky v databázové tabulce. Proces klasifikace potom do této tabulky přidá nový sloupec s názvem třídy a jejími hodnotami.65 Příkladem z praxe může být proces, kdy se banky rozhodují, zda danému zákazníkovi poskytnou úvěr či nikoliv. Nejprve je nutné stanovit určitá pravidla, podle kterých bude klasifikace probíhat. V tomto případě se bude nejspíše jednat o zůstatek na zákazníkově kontě či jeho roční příjem. Banka si poté zkontroluje tyto atributy a na jejich základu rozhodne o výsledku. Tím bude bud’ ano, poskytne zákazníkovi úvěr či ne, neposkytne (v jiných případech mohou být samozřejmě výsledky daleko složitější). Proces znázorňuje obrázek 1066 . Metody, které tyto procesy počítají se nazývají Decision trees (Rozhodovací stromy), Neural network (Neuronové sítě) či Naïve Bayes.67 Chapter 13: Panning for Gold—Introduc tion to Data M ining 475 Obrázek 10: Klasifikace Zdroj: Delivering Business Intelligence with Microsoft SQL Server 2008. str. 475 FigureLarson. 13-6 Classification Let’s look at an example. Maximum Miniatures is having a problem with some • Estimation (Regression) „odhadování” je proces přiřazování nějaké pr ůbwant ěžně oceňované wholesale customers not -paying their invoices in a timely manner. Therefore, we a way to predict the credit risk of prospective risk is our predictionKde však klačíselné hodnoty k určitému objektu a je takcustomers. obdobouCredit předchozí klasifikace. attribute. We look at the past data, where we already know the value of the credit risk sifikace vrací We diskrétní hodnotu, estimation vrací číslo.had Výhoda tétotometody spočívá v její attribute. know who paid their bills on time and who to be taken collections. We can examine the past data and determine the attributes that most distinguish the customers that were good credit risks from those that were bad credit risks. These 65 BERRY, Michael are the J.A.; distinguishing attributes. This sounds like an easy to do,Sales, but ifand we Customer have LINOFF, Gordon S. Data Mining Techniques: For thing Marketing, Relationship of records in ourIndianopolis past data, it(Indiana). can be a daunting task. Management.millions 2nd ed. Wiley Publishing. 2004. str. 8-9 66 S tím rozdílem, že na obrázku figurují místo zákazníků celé firmy. This is where data mining proves its worth. Data mining is excellent at plowing 67 MUNDY, Joy; THORNWAITE, Warren; KIMBALL, Ralph et al. The Microsoft Data Warehouse Toolkit: With SQL Server through millions of records to find correlations. It can process the past data and 2005 and the determine Microsoft Business Toolset. Wiley Publishing. Canada. 2006. str. 424or a CEO’s whetherIntelligence it is net assets, annual revenue, invoice payment history, favorite color that is a distinguishing attribute for credit risk. Perhaps customers with over ten million dollars in assets and three million dollars in annual revenue are almost always good credit risks, while customers that don’t meet these 32 become our distinguishing attributes: the criteria are almost always bad credit risks. These measures we can apply to prospective customers to determine what their credit risk is likely to be. Using the distinguishing attributes, we can identify bad credit-risk prospects and ask for cash in advance, before they have thousands of dollars’ worth of overdue invoices. schopnosti vypočítat hodnotu pro nějakou proměnnou, například pravděpodobnost, že si 3.3 Data Mining 3 BUSINESS INTELLIGENCE zákazník ve věku 15-20 let zakoupí CD přehrávač.68 Tak může firma poměrně snadno definovat své potenciální zákazníky.69 Estimation lze demonstrovat i na předchozím případě poskytnutí úvěru. Spíše než odpovědi ano, ne by banka potřebovala vědět číselné vyjádření, jak moc výhodné to pro ni je. Algoritmy, které tyto hodnoty počítají jsou založeny na principu regresní analýzy, a proto je tato metoda také někdy nazývána regression, regrese. Stejně jako v předchozím případě i zde lze pracovat s Rozhodovacími stromy či Neuronovou sítí. • Prediction - rozdíl mezi předpovědí a předchozími dvěma případy spočívá v tom, že předpověd’ se pokouší zařadit objekty na základě předpokládaného budoucího chování. Předpověd’ tak sice pracuje se stejnými technikami, ovšem za účelem stanovení proměnné, která bude ověřena až v budoucnu. Jednodušeji řečeno, předpověd’ analyzuje pomocí matematických výpočtů, co se stalo v minulosti (zkoumá historická data uložená v datovém skladu) a snaží se určit, co se, pokud vydrží současný trend, nejpravděpodobněji stane v budoucnu. Příkladem může být firma, která staví nový dům za účelem následného prodeje a ráda by tak určila jeho budoucí cenu. Aby byla schopna sestavit předpověd’, musí nejprve sestavit soubor atributů, na základě kterých se bude cena odhadovat. Zde se jedná například o rozlohu domu, počet koupelen, destinace atd. Prediktivní metoda pak porovná atributy v tomto souboru s jejich historickými hodnotami a na jejich základě vytvoří předpověd’. Pro předpovídání číselné hodnoty se opět nejčastěji využívají Rozhodovací stromy a Neuronové sítě. Pro určení časové předpovědi se však musí využít specializovaných metod (např. Microsoft Time Series).70 • Association (Affinity Grouping) - jedná se o proces vyhodnocování vztahů či asociací mezi jednotlivými objekty, které prokazují určité vzájemné spříznění. Affinity Grouping může být například použito k určení pravděpodobnosti, že zákazníci, kteří si pořizují jeden určitý produkt by byly ochotni vyzkoušet i jiný. Tento druh analýzy je velmi užitečný například pro marketingové kampaně nebo také pro vytvoření takového produktu, který by oslovoval co možná největší počet lidí.71 Nejvíce se však tato metoda používá v tzv. Market basket analysis. Jde o případ, se kterým se asi setkal každý, kdo někdy nakupoval zboží na internetovém obchodě. Tyto e-shopy využívají asociačních algoritmů pro analýzu toho, co si zákazník vkládá do nákupního košíku a následně mu zobrazují, co si uživatelé, kteří si zakoupili toto zboží také pořídili. V anglickém jazyce zní tato hláška „Customers, who bought this product, also bought.” a lze se s ní setkat opravdu téměř všude. Tento proces ilustruje obrázek 11 na příkladu nákupu hraček 68 V souvislosti s tím se také zavádí pojem skóre. Zatímco pravděpodobnost vyjadřuje s jakou určitostí si zákazník produkt koupí, skóre představuje procento zákazníků, které si daný produkt již zakoupilo. 69 LOSHIN, David. Business Intelligence - The Savvy manager’s guide. Getting Onboard with Emerging IT. Morgan Kaufmann Publishers. United States of America. 2003. str. 209-210 70 MUNDY, Joy; THORNWAITE, Warren; KIMBALL, Ralph et al. The Microsoft Data Warehouse Toolkit: With SQL Server 2005 and the Microsoft Business Intelligence Toolset. Wiley Publishing. Canada. 2006. str. 425-426 71 LOSHIN, David. Business Intelligence - The Savvy manager’s guide. Getting Onboard with Emerging IT. Morgan Kaufmann Publishers. United States of America. 2003. str. 210 33 3.3 Data Mining 3 BUSINESS INTELLIGENCE z druhé světové války. Metody, které asociace počítají se jmenují stejnojmenně Association nebo Affinity Grouping. Chapter 13: Panning for Gold—Introduc tion to Data M ining 489 Obrázek 11: Asociace - Market basket analysis One-Item Sets Two-Item Sets Product Sales Product Sales American GI British Tank Commander German Panzer Driver RAF Pilot Russian Infantry Russian Tank Commander U.S. Army Pilot U.S. Navy Gunner’s Mate 14,025 16,044 16,580 16,632 13,557 16,028 16,229 12,499 British Tank Commander + German Panzer Driver British Tank Commander + RAF Pilot British Tank Commander + Russian Tank Commander British Tank Commander + U.S. Army Pilot German Panzer Driver + RAF Pilot German Panzer Driver + Russian Tank Commander German Panzer Driver + U.S. Army Pilot RAF Pilot + Russian Tank Commander RAF Pilot + U.S. Army Pilot Russian Tank Commander + U.S. Army Pilot 15,232 15,132 10,983 15,139 Three-Item Sets Product Sales British Tank Commander + German Panzer Driver + RAF Pilot British Tank Commander + German Panzer Driver + U.S. Army Pilot British Tank Commander + RAF Pilot + U.S. Army Pilot 10,773 14,845 10,937 15,493 14,238 14,943 13,293 15,134 13,489 Rules 94.9% buying British Tank Commander also buy German Panzer Driver 97.5% buying British Tank Commander and German Panzer Driver also buy U.S. Army Pilot Zdroj: Larson. Delivering Business Intelligence with Microsoft SQL Server 2008. str. 489 Figure 13-15 The Microsoft Association Rules algorithm • Now, Clustering (Segmentation) - natest clustering lze dívat jako automatickou the algorithm examines the data set se to determine howna many purchases klasifikaci. included in each two-item set. Again, minimum level of support is který se co Algoritmyboth tétoitems metody seskupují podobné objektya do tzv. clusteru (shluku dat), required. In Figure 13-15, you can see we have 5 two-item sets with the minimum nejvíce liší od clusterů ostatních. Tyto clustery nejsou předem definované a je tak na příslušsupport required. Items from theaby two-item sets aarepokoušel now combined form three-item sets.jsou Thispředmětem ném analytikovi, je zkoumal se najít to určité závislosti. Pokud process continues until there is either one or zero sets with the minimum support. In zkoumání zákazníci, mluvíme většinou o tzv. segmentaci. Figure 13-15, no three-item sets have the minimum support required so, in this case, Proces clusteringu je také schopen odhalit nejčast ější posloupnosti mezi daty. Proto je často the algorithm does not continue with four-item sets. Once the sets are created, the algorithm creates rules based on the také k urvyužíván například k mapování chování zákazníkůmembership na webových stránkách nebo result. The algorithm determined that 16,044 purchases included the British Tank čení sledovanosti televizních pořadů v závislosti na jejich vysílacím čase. Clustering je Commander. Of those purchases, 15,232, or 94.9%, also included the German Panzer také používán k odhalení problém ů associations. či závislostí aInmthe ůžefuture, tak sloužit Driver. This becomes a rulejakýchkoliv for predicting future whenjako vstup someone puts the British Tank Commander in their shopping cart, 95 times out of 100, pro ostatní metody data miningu. Příslušné algoritmy k této metodě jsou nazývány Clustethey will also include the German Panzer Driver in the same purchase. ring a Sequence Clustering.72 • Description and Profiling - o této metodě hovoří autoři v knize Data mining techniques následovně. Někdy spočívá účel data miningu pouze v popisování toho, co se děje v nějaké složité databázi a to tím způsobem, abychom získali lepší porozumění těm procesů, produktům či zákazníkům, které tato data v první řadě vyprodukovala. Dobrý popis problému 72 MUNDY, Joy; THORNWAITE, Warren; KIMBALL, Ralph et al. The Microsoft Data Warehouse Toolkit: With SQL Server 2005 and the Microsoft Business Intelligence Toolset. Wiley Publishing. Canada. 2006. str. 426-427 34 3.4 Současné trendy ve vývoji datových skladů a BI 3 BUSINESS INTELLIGENCE nějakého chování většinou dospěje také k jeho vyřešení a nebo alespoň poukáže na to, kde ho hledat. Za tímto účelem lze využít algoritmy jako Rozhodovací stromy, Clustering či Affinity Grouping.73 3.4 Současné trendy ve vývoji datových skladů a BI V této části je znázorněno, jakým směrem se vývoj datových skladů a Business Intelligence nástrojů v dnešním světě ubírá. Jsou zde uvedeny dvě pravděpodobně nejaktuálnější témata na tomto poli a to využití nestrukturovaných dat v datovém skladu a tzv. Real-time Business Intelligence. Nestrukturovaná data Až doposud byla jak v kapitole datových skladů, tak v části BI rozebírána pouze data, která byla tvořena číslicemi, znaky atd. Tato data se nazývají strukturovaná. Pravdou však je, že daleko větší část podnikových dat je tvořena jinými tzv. nestrukturovanými daty. Jedná se například o obrázky, videa, webové stránky, prezentace, e-maily, dokumenty, hudbu atd. Na rozdíl od dat strukturovaných, která jsou většinou uložena v relačních tabulkách, jsou tato data ukládána na file serverech, FTP serverech, mail serverech nebo také v content management či document management systémech. Vzhledem k tomu, že množství těchto dat může být v podnicích několikanásobně větší než množství dat strukturovaných (záleží při tom samozřejmě na zaměření firmy), vzniká v posledních letech poptávka po možnosti ukládání a analyzování dat nestrukturovaných. Otázkou tedy zůstává, jak tato data ukládat v datovém skladu a následně je pomocí BI nástrojů analyzovat? V podstatě existují dvě možnosti. První z nich je označována jako tradiční a spočívá v uložení nestrukturovaného objektu na určitý file server a jeho atributů pak do datového skladu. Princip lze pochopit na příkladu dokumentů. Všechny z nich, at’ už jsou uloženy v jakémkoliv formátu, mají několik společných atributů, jako například název, téma, abstrakt, typ, verzi, id, datum vytvoření, velikost, počet slov, jméno autora atd. Všechny tyto vlastnosti lze uložit do datového skladu, kromě nich se však uloží do tabulky také adresa souboru na file serveru či jeho URL. Tímto způsobem lze dokonce uložené atributy podrobit následné analýze stejně tak jako to bylo v případě strukturovaných dat. Tuto metodu lze pochopitelně kromě dokumentů aplikovat i na jiná nestrukturovaná data. Tento přístup však z hlediska analýzy a zkoumání dat nepřináší žádné nové výhody. A proto se objevila jiná metoda, která se nazývá text mining, nebo v poslední době spíše text analytics. Jedná se o proces transformování nestrukturovaných dat na data strukturovaná na základě analyzování jazykové struktury textu uvnitř dokumentu, rozboru textu, extrahování slovních spojení a identifikace asociací s využitím různých statistických analýz. 73 BERRY, Michael J.A.; LINOFF, Gordon S. Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management. 2nd ed. Wiley Publishing. Indianopolis (Indiana). 2004. str. 12 35 9314ch15final.qxd 3.4 11/15/07 9:43 AM Page 472 Současné trendy ve vývoji datových skladů a BI 472 3 BUSINESS INTELLIGENCE CHAPTER 15 ■ OTHER DATA WAREHOUSE USAGE Celý proces začíná převedením dokumentu do textu za pomoci speciálních nástrojů, které the candidate worked. Theznaky. softwareNásledn can then ě use thistakto understanding of the parsed text. The jsou schopny rozlišit jednotlivé lze připravený text podrobit analytickému words are then processed using a data mining clustering algorithm to get the relationships. zkoumání.My Jeho výsledkem seznam slov a frází spolu s jejich tzv. asociačním hodnocením. Toto point here is that ajetext analytics application that is developed specifically for the recruitindustry understands the context of the industry and is able to identify that certain hodnoceníment si lze představit jako číslo od 0 do 1, které vyjadřuje vztah jednotlivých frází. Čím vyšší phrases are skills, titles, software, cities, and company names, whereas a pharmaceutical text analytics application would be ableje, to recognize symptoms, research,jsou diagnoses, chemical číslo je, tím je vztah silnější. Důležité že tyto the analytické aplikace schopny zpracovávat content, cure, and treatment phrases within hundreds of medicine patent files. The applica- takovéto dokumenty v závislosti na daném kontextu, životopisy atd.74 tion understands the relationship between phrases, například such as howfaktury, skills aresmlouvy, related to software and how symptoms related treatments. Because ofpomocí this, when selecting a textnástroj analytics Vygenerovaný seznam are frází lze to následn ě zpracovat analytických ů nebo také application, you need to ensure that it has the right “dictionary” for your industry. A text ana- lyticsminingového application, which works well for algoritmu. pharmaceuticals, not be good for processing pomocí data clusterovacího Ten may je schopen lépe znázornit počet a sílu claim documents within the insurance industry. jednotlivých vztah ů. Takto schéma je znázorn ěno na to obrázku 12. A pictorial The scored lists vytvořené describe which words have strong relations other words. representative of the result is probably easier to understand. Figure 15-3 shows the result of the résumé example. Obrázek 12: Reprezentace textové analýzy pomocí data miningu Zdroj: Rainardi.of Building a of Data str. 472 Figure 15-3. Pictorial representation the result textWarehouse. analytics The line thickness reflects the strength of association between the phrases. For example, V souvislosti s nestrukturovanými daty je také nutné zmínit koncept nové generace datových in Figure 15-3, city A is more related to role B than to software A, and software B is more closely associated to skill B than to city D. City C is related only software and company A has nosplňuje půskladů, který je označován jako Data Warehousing 2.0to(DW 2.0).A, Tento přístup sice relation with any skill, software, or company. The other output of the analytics is grouping or vodní Inmonovu definici uvedenou v první kapitole, zárove sethevšak první classification according to the taxonomy of the phrases, thatňis, list ofod cities, list generace of jobs, list datových of roles, list of software, and so on. It is often industry specific. In other words, text analytics or skladů lišímining v několika bodech: software that works well for car insurance claims may not have the vocabulary required to analyze food and beverage patents. • Životní Once cyklus jaklists data stárnou, mění scores, se i jejich charakteristika. Vdata důsledku youdat have- the and the association you can store them in the ware- toho jsou house for further analysis. For example, you can ask questions such as, “What are the top five data v DW 2.0 rozdělena na několik oblastí právě podle jejich věku. • Nestrukturovaná data - nestrukturovaná data jsou naprosto validní součástí datového skladu. Kromě toho se zde vyskytují v několika formách, jako jednotlivé úryvky textu, jako upravená slova a fráze a také jako tzv. matching text, který vyjadřuje pravděpodobnost shodnosti nestrukturovaných dat. • Přítomnost metadat - DW 2.0 klade větší důraz na metadata a stejně tak jako v předchozím bodě i metadata jsou členěna na více úrovní. 74 RAINARDI, Vincent. Building a Data Warehouse: With Examples in SQL Server. Apress. United States of America. 2008. s. 470-473 36 3.4 Současné trendy ve vývoji datových skladů a BI 3 BUSINESS INTELLIGENCE Tyto body sebou také přinášejí jisté výhody, a tak lze předpokládat, že vývoj datových skladů bude směřovat právě tímto směrem. Zajímavá je i skutečnost, že rozvoj DW 2.0 podporuje i sám William H. Inmon, zakladatel první generace datových skladů. Na druhou stranu je nutné říci, že je tento koncept starý pouze pár let a v praxi se zatím příliš nevyužívá. Na jeho uplatnění v budoucnu si bude tedy ještě třeba nějakou dobu počkat. Schéma struktury DW 2.0 zobrazuje obrázek 13.75 Obrázek 13: Struktura DW 2.0 Zdroj: http://www.information-management.com/issues/20060401/1051111-1.html 75 INMON, William H. DW 2.0 - Architecture for the Next Generation of Data Warehousing - Information Management [online]. 04.2006, [cit. 2010-04-22]. Dostupné z: <http://www.information-management.com/issues/20060401/10511111.html> 37 3.4 Současné trendy ve vývoji datových skladů a BI 3 BUSINESS INTELLIGENCE Real-time Business Intelligence I přestože je toto téma v podstatě v přímém rozporu s myšlenkou této práce, tedy ukázat nezbytnost přítomnosti datového skladu pro BI aplikace, považuji za důležité tento pojem alespoň zmínit. Jedná se o technologii, která se začala rozvíjet teprve před několika lety a představuje pravděpodobně jednu z možných cest dalšího vývoje celého odvětví datových skladů a BI. Problém běžného Business Intelligence spočívá v tom, že pracuje s daty, která nejsou úplně aktuální. To je samozřejmě spojeno s tím, že datový sklad se většinou aktualizuje jednou za den či dokonce méně často. V dnešní době však současné ekonomické prostředí a situace kladou stále větší nároky na nutnost analyzovat co možná nejaktuálnější data, nejlépe v reálném čase. Příkladem může být odhalení podezřelé bankovní transakce nebo také analýza propadu tržeb daného dne. Ve všech těchto případech již klasické BI nástroje nestačí.76 V souvislosti s těmito příčinami se tedy v posledních letech objevilo několik nových technologií a pojmů. To, ke kterému zde směřuji, se nazývá Real-time Business Intelligence (RTBI), někdy také Business Intelligence 2. Vzhledem k tomu, že je tato problematika poměrně nová, neexistuje ještě žádná standardizovaná definice. Lze však definovat, co RTBI pro každý podnik znamená. Spojení real-time může tedy vyjadřovat: • Požadavek na nulovou latency jakéhokoliv procesu • Fakt, že má proces přístup k informacím kdykoliv je potřeba • Možnost čerpat měřené hodnoty, které se vztahují k současné a ne historické situaci77 Nutno říci, že tyto požadavky mohou být naplněny takřka pouze v případě, že se budou data čerpat z provozních databází, které mohou zaručit jejich aktuálnost. Existuje sice také technologie Real-time Data Warehouse, která se snaží o minimalizaci prostojů mezi jednotlivými aktualizacemi dat, ovšem ani ta ve většině případů nevyhovuje výše uvedeným požadavkům. Jednotlivé načtení probíhá v intervalech v rozmezí několika až desítek minut, a tak definici „datového skladu v reálném čase” stejně přímo neodpovídá. RTBI aplikace se, díky své orientaci na současné problémy, přesouvají především do oblasti různých přehledových zobrazení, jako například dashboards, internetové portály atd. Výhodou tohoto přístupu je navíc také to, že pro zacházení s těmito nástroji uživatel většinou nepotřebuje dobrou znalost jak business domény, tak informačních technologií. Tyto aplikace poskytují většinou spíše high level pohled na současnou situaci a navíc v takové formě, která je pro uživatele srozumitelná. Jedná se většinou o různé grafy, tabulky a jiné formy prezentace dat. Real-time Business Intelligence tak ukazuje jakýsi trend, kterým se informační nástroje v tomto odvětví budou nejspíše ubírat. Otázkou však zůstává, jakou roli budou v této vizi hrát datové sklady. 76 Real-Time Business Intelligence Gravic [online]. c2010, [cit. 2010-04-22]. Dostupné z: <http://www.gravic.com/shadowbase/uses/realtimebusinessintelligence.html> 77 AZVINE, B.; CUI, Z., et al. Real Time Business Intelligence for the Adaptive Enterprise [online]. [cit. 2010-04-22]. Dostupné z: <http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.101.194&rep=rep1&type=pdf> 38 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Praktická část 4 Návrh a využití datového skladu ve spojení s BI Tato kapitola je věnována praktické ukázce využití datového skladu ve spojení s Business Intelligence nástroji. První část se však zabývá návrhem později využívaného datového skladu a to i přesto, že návrh a implementace datového skladu není přímo předmětem této práce. Pro pochopení jeho využití a tedy i další částí kapitoly či jeho výhod oproti klasické normalizované databázi je však tato část důležitá. Implementační část navíc přímo souvisí s využitím datových skladů nebot’ se zde definují technologie, které umožňují propojení datového skladu s okolními systémy a především pak jeho naplnění patřičnými daty. Další kapitoly jsou již věnovány výhradně možnostem využití datových skladů. První z nich se zaměřuje na problematiku reportů, v dalších kapitolách se pak věnuji analýze a data miningu. 4.1 Návrh a implementace Jak již bylo řečeno, první část této kapitoly se věnuje návrhu a implementaci datového skladu, který bude následně využíván k ukázkám v dalších kapitolách. Aby byly funkce a využití datových skladů co nejsrozumitelnější, byl pro implementaci datového skladu vybrán typický model prodejní společnosti. Jedná se o prostředí, kde se datové sklady budují velmi často a jeho struktura je poměrně jednoduchá a dobře představitelná, proto je vhodný i pro demonstraci využití v této práci. Datový sklad bude vyvíjen pro fiktivní zahraniční firmu, která se zabývá prodejem elektroniky. Vzhledem k tomu, že působí ve více zemích78 , má společnost velký problém s organizací svých dat, především potom s jejich analýzou. Firemní data musí být získávána z několika různých systémů napříč jednotlivými státy, což je velmi obtížné. Organizace by tak chtěla své informace o prodeji analyzovat podle zeměpisné oblasti a také dle různých kategorií svých produktů, to vše přitom v závislosti na čase. Zároveň by firma chtěla mít lepší přehled o svých zákaznících napříč svými systémy.79 Návrh požadovaného datového skladu by se dal rozdělit do těchto fází: 1. Definování business požadavků 2. Návrh dimenzionálního modelu 3. Návrh technologické platformy 4. Implementace a načtení dat 78 Firma působí v USA, Kanadě a Mexiku. 79 Toto jsou pouze informace nutné pro nastolení výchozí situace. Popis firmy a následné získávání požadavků nelze brát jako systematický postup při vývoji datového skladu, nýbrž spíše jako definování důležitých informací o systému. V další části práce se tedy mohou objevit atributy, které by nemohly být logicky odvozeny z popisu firmy na začátku kapitoly. 39 4.1 Návrh a implementace 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Definování business požadavků Z popisu firmy byly určeny základní subjekty účastnící se firemních procesů. Tím hlavním je samozřejmě samotný prodej, dalšími faktory, které do tohoto procesu zasahují jsou zákazník a také obchod, ve kterém se prodej uskutečnil (z požadavku na zeměpisné rozlišení). Vzhledem k tomu, že firma potřebuje analyzovat svá data v závislosti na čase, je dalším faktorem účastnící se tohoto procesu čas. Základní podobu datového skladu ilustruje konceptuální model na obrázku 14. Obrázek 14: Konceptuální schéma datového skladu Kromě struktury je také třeba určit, co by měl datový sklad umět, jinými slovy je třeba určit funkční požadavky. Datový sklad musí umožňovat: • analyzovat požadovaná data v závislosti na čase, na produktu, na zákazníkovi, který si daný produkt zakoupil a na obchodě, ve kterém bylo zboží zakoupeno. Zároveň musí umožnit sledování tržeb, nákladů a zisků z prodeje a také počty prodaných kusů. • vyhledávat zákazníky dle zeměpisných údajů (země, města atd.) a také podle jejich demografických údajů (pohlaví, věk, zaměstnání atd.) • analyzovat data na úrovni let, kvartálů, měsíců, týdnů a dnů • analyzovat data podle jednotlivých států a měst • od prvního spuštění analyzovat nejméně dva roky stará data Dále by měly být určeny nefunkční požadavky či provedena analýza rizik, oba dva procesy jsou však v tomto případě irelevantní. 40 4.1 Návrh a implementace 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Návrh dimenzionálního modelu Poté co byly v předchozí části shromážděny základní požadavky na systém, je nyní možné přistoupit k dimenzionálnímu modelování. Cílem této části je zformovat tyto požadavky do podoby logického modelu datového skladu. Prvním krokem je odvození patřičných dimenzí ze struktury systému. Z konceptuálního modelu lze určit, že dimenze budou následující: • zákazník • produkt • obchod • čas Z funkčních požadavků lze navíc odvodit požadované míry, které se budou sledovat. Těmi jsou: náklady, tržby, zisk a počet prodaných kusů. Tyto hodnoty tvoří jádro faktové tabulky. Po spojení jednotlivých dimenzí s faktovou tabulkou pomocí cizích klíčů navíc vznikne požadovaný dimenzionální model. Je vidět, že všechny nasbírané požadavky se týkají právě jedné business problematiky, a tak toto schéma přesně odpovídá definici data martu uvedené dříve. V dalším kroku dimenzionálního modelování byly navrženy jednotlivé atributy. Bylo dbáno na to, aby vyhovovaly požadavkům stanovených dříve a zároveň odpovídali definici dimenzionálního modelu. • Faktová tabulka prodej - u faktové tabulky se nachází unikátní primární klíč id_prodej a cizí klíče, které ji spojují s jednotlivými dimenzemi. Dále je zde uveden počet prodaných kusů jednoho produktu a také náklady a tržby z prodeje daného produktu. Posledním, ovšem nejdůležitějším atributem je položka zisk. Tato položka je vypočítána přímo databází jako rozdíl mezi tržbami a náklady na prodej. Dá se předpokládat, že právě tento atribut bude nejčastějším předmětem dotazů. Jak bylo uvedeno v teoretické části, je u faktových tabulek důležité stanovit jejich granularitu. V tomto případě jedna řádka v tabulce koresponduje s jednou prodanou položkou. • Dimenze datum - dimenze jsou spojeny s faktovou tabulkou pomocí cizích klíčů, obsahují tedy unikátní primární klíč. V případě této dimenze se jedná o atribut id_datum. Dimenze data je zároveň dobrým příkladem toho, jaké redundantní informace se mohou v dimenzionálních modelech skrývat. Kromě data samotného je zde ještě zvlášt’ definován měsíc, týden a den a to navíc v některých případech jak v číselné, tak slovní formě. Tento fakt také souvisí s vytvářením na sebe navazujících atributů, hierarchií. Díky tomu bude možné procházet a zkoumat data obsažená v datovém skladu na různých úrovních, a získat tak daleko více potřebných informací. 41 4.1 Návrh a implementace 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Obrázek 15: Logický model 42 4.1 Návrh a implementace 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI • Dimenze zákazník - dimenze zákazníka byla navržena především s ohledem na praktickou ukázku data miningu. Shromažd’uje tak všechny možné informace o zákazníkovi, které by jinak v reálném případě prodejního oddělení bylo jednak zbytečné a jednak i takřka nemožné získat. Tabulka zákazník tedy obsahuje primární klíč id_zakaznik a další popisné atributy jako například vek, prijem, zamestnani atd. Jestliže předchozí dimenze byla příkladem redundance jako jednoho ze základních projevů dimenzionálního modelu, na této dimenzi je vidět její denormalizace. V případě klasické normalizované databáze by se atributy jako emailova_adresa, adresa_1 či jiné geografické atributy nejspíše nacházely v samostatné tabulce, zde jsou však umístěny v jedné. • Dimenze produkt - tato dimenze obsahuje, kromě primárního klíče id_produkt, další atributy, z nichž za nejdůležitější se dají označit nazev, typ a kategorie, které jsou zároveň součástí jedné hierarchie, dle které se dá jasně odlišit, který segment, kategorie či konkrétní výrobek se v dané chvíli nejvíce prodává. V tabulce jsou dále uvedeny popisné vlastnosti produktu jako cena, hodnota80 , vaha, sirka nebo také informace, zda-li je daný výrobek recyklovatelný. • Dimenze obchod - u této dimenze je nejdůležitější odlišit jednotlivé obchody na základě geografického umístění. Tabulka tedy obsahuje atributy jako mesto, zeme, či adresy obchodů. Dalším důležitým atributem je typ obchodu, který zachycuje, jedná-li se o kamenný či elektronický obchod. Primárním klíčem je id_obchod. Výsledný logický model znázorňuje obrázek 15. Je vidět, že model odpovídá hvězdicovému schématu, nebot’ není důvod jednotlivé dimenze normalizovat, naopak by se tím potlačily výhody spojené s požadavky na analýzu a dotazování. Návrh technologické platformy V tomto bodě je určena technologická platforma, na které bude data mart založen. Výstupem bude tedy fyzický model, který je již plně přizpůsoben dané databázi. V tomto případě se nemuselo přihlížet na to, zda jsou některé technologie pro vývoj upřednostňovány, proto byl výběr realizován na základě kvality či vhodnosti a také na základě předchozích zkušeností s daným produktem. Obecně lze říci, že projekt byl realizován převážně s využitím aplikací od společnosti Microsoft, základním softwarem pro další technologie byl proto operační systém Windows XP81 . Použité technologie lze shrnout do několika kategorií: • pro správu datového skladu byl použit Microsoft SQL Server 2008 Enterprise spolu s programem pro správu databázových tabulek SQL Server Management Studio. Tento software 80 Cenu lze chápat jako částku, za kterou se produkt prodává, zatímco hodnota je v podstatě výrobní cena výrobku. Tyto atributy jsou zde uvedeny jen pro znázornění ceny výrobku, nemají však žádnou souvislost s aktuálními náklady či tržbami prodeje, to by ve skutečnosti zajišt’oval provozní systém, ze kterého by data byla načítána. 81 V mém případě se jednalo o Windows XP Service pack 3, ale lze samozřejmě použít jakýkoliv novější operační systém od společnosti Microsoft. 43 4.1 Návrh a implementace 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI byl vybrán na základě předchozích zkušeností, velice dobré dokumentace všech vlastností SQL serveru a také jeho dostupnosti.82 Jeho největší výhodou jsou však s ním dodávané programy uvedené v následujícím bodě. • SQL Server je dodáván jako balík aplikací, které jsou uvedeny pod jedním názvem. V Enterprise edici tak lze najít program SQL Server Business Intelligence development studio, který má v sobě zabudován hned několik dalších komponent potřebných pro tento projekt. Jedná se o aplikaci Integration Services, pomocí které lze načíst data do datového skladu, a dále o aplikace Analysis Services a Report Services, které budou využity při tvorbě analytických dotazů či reportů. Pro analýzu dat vytvořených pomocí těchto programů byl pak využit program Microsoft Excel 2007. • pro načtení dat byla využita částečně aplikace Integration Services spolu s programem Microsoft Excel, ve kterém byla data vytvořena. Zbylá data byla načtena pomocí programu SQL Data Generator, který umožňuje poměrně jednoduché vygenerování testovacích dat a lze ho volně používat po dobu 14 dnů. • další kategorií jsou nástroje použité pro vytvoření jednotlivých modelů datového skladu. Konceptuální model byl vytvořen v programu Microsoft Office Visio 2007, všechny zbylé modely pak v programu Enterprise Architect. Nyní lze začít s transformací logického modelu na fyzický. V první části jsou přizpůsobeny jednotlivé datové typy databázi SQL Server. Až na výjimky se jedná o datové typy int v případě čísel, nvarchar či nchar v případě textu a smalldatetime v případě datumu. Datový typ nvarchar byl vybrán z toho důvodu, že obsahuje znaky unicode, což není v našem případě nezbytně nutné, nebot’ jsou atributy psány bez diakritiky, ovšem má to velký význam pro pozdější import dat do datového skladu. Nevýhoda tohoto typu je, že díky tomu, že obsahuje dvakrát tolik znaků, zabírá také více místa na disku. V případě této databáze to však nehraje velkou roli, nebot’ velikost bude i tak relativně malá. Datový typ smalldatetime se od klasického date liší tím, že může obsahovat pouze data mezi lety 1900 až 2079, což v tomto případě opět není důležité. V další části je nutné správně zvolit cizí klíče. Faktová tabulka ponese informace o primárních klíčích každé dimenze, jedná se tedy o id_obchod, id_zakaznik, id_produkt a id_datum. Zároveň je dobré již v této fázi myslet na případnou optimalizaci systému. Vzhledem k tomu, že cílem této kapitoly je především ukázat využití datových skladů, není zde věnováno optimalizaci mnoho prostoru. Přesto však lze nyní navrhnout základní indexy, které mohou teoreticky pomoci k vyššímu výkonu. Protože může u reportování často docházet ke spojování všech dimenzí s faktovou tabulkou, jsou indexy umístěny na cizí klíče právě v této tabulce. Výstup této části v podobě fyzického modelu lze vidět na obrázku 16. 82 SQL Server 2008 Enterprise lze volně používat po dobu 180 dní. 44 4.1 Návrh a implementace 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Obrázek 16: Fyzický model 45 4.1 Návrh a implementace 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Implementace a načtení dat Jednou z výhod programu Enterprise Architect je, že dokáže z fyzického modelu vygenerovat zakládací skripty pro jednotlivé databázové tabulky. Zde je uveden příklad takto vygenerovaného kódu v případě tabulky produktu:83 Podobným způsobem byly vygenerovány i ostatní tabulky a byl tak vytvořen kompletní dimenzionální model. Před načtením dat bylo ještě nutné lehce upravit tabulku prodeje. Jak bylo uvedeno dříve, atribut zisk není importován, nýbrž je počítán přímo databází. K tomu lze využít funkčnost SQL serveru, která se nazývá computed column. Ta umožňuje využít jakýkoliv jiný atribut z příslušné tabulky pro výpočet daného atributu. Položka zisk bude tedy upravena následujícím způsobem: Parametr persisted zaručuje, že bude atribut fyzicky uložen na disku. Bez tohoto parametru by byl přepočítáván při každém použití. K plnohodnotné ukázce jakýchkoliv BI nástrojů je nutné, aby datový sklad obsahoval velké množství dat, především historických. Ve funkčních požadavcích je navíc uvedeno, že datový sklad by měl již od prvního spuštění uchovávat minimálně dva roky stará data, což toto množství dále umocňuje. Vzhledem k tomu, že není k dispozici žádná operační databáze, ze které by se daly čerpat reálná data, je nutné tato data nějakým způsobem vygenerovat a simulovat tak chod skutečného systému. Jak již bylo řečeno, k tomuto úkolu byl využit program SQL Data Generator. Pomocí něho bylo možné určit přesnou podobu testovacích dat i počet řádek k vygenerování. Aplikace pak požadovaná data vygenerovala a sama načetla do databáze. 83 Kód není kvůli délce kompletní. 46 4.2 Vytvoření reportů 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI V případě tabulky datum však bylo zapotřebí vytvořit data manuálním způsobem a poté je do datového skladu importovat.84 K tomu byly využity programy Microsoft Excel a Integration Services. Tato aplikace umí načíst libovolná data ze souboru Excel, přetransformovat je tak, aby odpovídaly cílové destinaci a následně je do ní načíst.85 Celý proces importu dat pomocí aplikace Integration Services je zachycen na obrázku 17. Tím je také proces návrhu datového skladu ukončen a nyní lze konečně přistoupit k jeho využívání. Obrázek 17: Proces integrace dat do databáze 4.2 Vytvoření reportů V této části jsou uvedeny praktické ukázky uživatelských reportů, které lze ve spojení s datovým skladem vytvořit. Zároveň zde budou znázorněny široké možnosti SQL Report Services nástroje, ve kterém budou dotazy tvořeny. Výstupem této části jsou ukázky dvou v praxi se nejvíce vyskytujících typů reportů. Jak je známo, nástroje na vytváření reportů by měly být mezi ostatními nástroji Business Intelligence těmi jednoduššími, nebot’ s nimi často pracují běžní uživatelé. V tomto ohledu vychází program Report Services opravdu vstříc. Díky spojení přehledného GUI aplikace s jednoduchou strukturou datového skladu lze vytvořit různé reporty poměrně snadným způsobem. S tímto případem je spojen první ukázkový report, uveden na obrázku 18, který obsahuje přehled zákazníků, kteří si zakoupili nějaký produkt. Jedná se o případ, kdy nejsou spojovány žádné databázové tabulky, pouze jsou vybrány některé atributy, se kterými se dále pracuje. Na ukázce je vidět, že uživatelé si mohou prohlížet zákazníky na základě země a města, ve kterém bydlí. Dále mohou být zákazníci řazeni dle jejich věku či jejich jména. Spolu s možností zákazníky v jednotlivých zemích a městech postupně skrývat a zobrazovat se jedná o snahu vytvořit alespoň trochu flexibilní prostředí, přestože jsou v tomto ohledu daleko převyšovány OLAP nástroji. Jak již bylo řečeno, report se dá vytvořit pomocí grafického uživatelského prostředí nebo ručně, zadáním SQL dotazu. Přestože znalost dotazovacího jazyka není pro tvorbu tohoto jednoduchého reportu nezbytně nutná, kontaktu s ním se uživatel nevyhne. Pro přehled tedy uvádím krátký příkaz pro vytvoření reportu z obrázku 18. 84 V předchozím případě byl, až na pár výjimek, každý sloupec generován nezávisle na sobě, zde však není možné mít například jako jeden objekt datum 1.1.2010, den 15, měsíc červen, kvartál q2 atd. 85 Kvůli tomuto kroku byly zvoleny atributy, které podporují unicode kódování. 47 4.2 Vytvoření reportů 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Obrázek 18: Přehled zákazníků 48 4.3 Analýza (OLAP) 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Druhý případ je již pro uživatele složitější, na druhou stranu je však nutné říci, že je i přesto nejčastějším typem vytvářených reportů. Jedná se o případ, kdy dochází ke slučování typicky všech dimenzionálních tabulek s tabulkou faktovou. Zde se plně projevují výhody dimenzionálního modelu a tedy i datového skladu obecně, nebot’ díky hvězdicovému schématu se dají tabulky velmi efektivně spojit. Takto vytvořený report, který je uveden na obrázku 19, zobrazuje přehled týdenních tržeb rozdělených podle typu produktu. Jednotlivé tržby jsou tak sčítány, nebot’ ve faktové tabulce jsou uvedeny zvlášt’ pro každou prodanou položku. Zároveň je zde možnost zobrazit pouze data z určitého roku či kvartálu nebo z určité země či města. Pro tuto funkčnost se musely vytvořit tzv. parametry, do kterých byly pomocí dalšího SQL příkazu načteny hodnoty, ze kterých pak může uživatel při výběru volit. Zde je uveden příkaz, pomocí kterého byl report vytvořen: Velkou výhodou takto vytvořených reportů je i to, že se dají exportovat do jiných programů, například Microsoft Word nebo Excel, kde se s nimi dá dále pracovat. Kromě exportu do různých formátů se reporty dají publikovat na webovém serveru, což zajišt’uje program Report Manager. 4.3 Analýza (OLAP) V této kapitole je znázorněno praktické využití datových skladů ve spojení s analytickými nástroji. Za tím účelem bude vytvořena multidimenzionální databáze, která bude následně sloužit jako zdroj pro OLAP analýzu. Proto je také tato kapitola rozdělena na dvě části. V té první je popsán vývoj MDD, v té druhé jsou pak uvedeny ukázky analytického dotazování, tak aby vhodně znázornily široké možnosti OLAP nástrojů. 49 4.3 Analýza (OLAP) 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Obrázek 19: Přehled týdenních tržeb 50 4.3 Analýza (OLAP) 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Multidimenzionální databáze Proces vytvoření datové kostky je složen z několika částí: 1. Výběr datového zdroje - jako datový zdroj, ze kterého se bude pro vytvoření kostky vycházet byl vybrán samozřejmě dříve vytvořený datový sklad 2. Výběr struktury - z požadavku na zkoumání dat dle geografického umístění a podle kategorií prodávaných produktů v závislosti na čase byly jako dimenze vybrány dim_obchod, dim_produkt a dim_datum. Součástí struktury datové kostky je samozřejmě faktová tabulka prodeje. Dimenze obsahující data o zákaznících byla pro tuto část vynechána. 3. Návrh MDD - v této části byly vybrány jednak hodnoty z faktové tabulky, které tvoří zkoumané parametry, a dále pak jednotlivé atributy a hierarchie, se kterými se bude pracovat. Jako hodnoty byly zvoleny všechny přípustné atributy z faktové tabulky, tedy naklady, trzby, zisk a pocet_kusu. Jako hierarchie v případě tabulky datum byla vybrána posloupnost rok, kvartal, nazev_mesice, tyden, nazev_dne.86 U tabulky obchodu se jedná o navazující atributy zeme, mesto a nazev. V případě produktu se jedná o atributy kategorie, typ a nazev. Atributy, které nejsou součástí žádné hierarchie jsou v databázové kostce taktéž obsaženy. 4. Vytvoření kostky - na závěr se musí navrhnutá kostka fyzicky vytvořit a naplnit požadovanými daty. V programu Analysis Services se toho lze docílit spuštěním procesů build, deploy a process. 5. Vytvoření KPI - byl vytvořen indikátor zisku, který pomáhá sledovat jeho současný stav a vývoj do budoucna napříč všemi úrovněmi a dimenzemi. Cílová hodnota zisku odpovídá jedné třetině tržeb. Tímto způsobem lze navíc kontrolovat i náklady nebot’ ze vztahu mezi ziskem, tržbami a náklady je jasné, že nemohou být větší než dvě třetiny tržeb. Co se týče vývoje do budoucna je cílem, aby hodnoty zisku byly o 20% větší než předcházející týden. V případě, že je dosaženo nižších hodnot, ukazatel trendu se snižuje. Tyto indikátory byly zadány pomocí skriptovacího jazyka MDX, který je určen pro práci s multidimenzionální databází. Zde je ukázka nastavení vývoje zisku, nebo-li trendu: 86 Druhou variantou je hierarchie rok, kvartal, nazev_mesice, den. 51 4.3 Analýza (OLAP) 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Analytické dotazování Nyní je již možné vytvořenou datovou strukturu libovolně procházet a analyzovat. Přestože s ní lze pracovat přímo v Analysis Services, obecně nejlepším programem pro OLAP analýzu je označován Microsoft Office Excel, proto i v této práci je využíván právě tento program. Výstupem této části je tedy jeden dokument ve formátu excel, který je tvořen několika záložkami. V každé z nich se analýza zaměřuje na něco jiného a jsou uvedeny odlišné možnosti prezentace dotazovaných dat. Základním cílem však bylo uvést všechny možnosti OLAP analýzy ve spojení s multidimenzionální databází, tedy možnost prohlížet data na elementární úrovni či naopak vysoce agregovaná data a zároveň také možnosti tzv, krájení a sekání dat. • V prvním sešitu je znázorněn případ drill up/down. Uživatel může prohlížet náklady, tržby a zisk jak na úrovni zemí, tak i na úrovni měst čí jednotlivých obchodů. Zároveň lze díky velké flexibilitě analytických nástrojů měnit požadované období a také určitou kategorii produktů. • Ve druhé záložce je vypracována ukázka zmiňovaného krájení kostky. Jako parametr, dle kterého se kostka filtruje, je zvolen název obchodu. Ten je pak zobrazován uživateli v kontextu s kategoriemi a typy produktů a také s časem. Příklad přesně odpovídá definici krájení kostky, kdy je zvolen jeden parametr na nejnižší úrovni a následně je zkoumán na základě zbylých dimenzí v celém spektru datového skladu. • U sekání je situace podobná, ovšem parametr není elementární informace, jedná se o kategorii či typ produktu. Stejně tak osy tabulky zobrazují již vyfiltrovaná data, konkrétně rok 2009 a obchody pouze v USA. • Čtvrtý sešit neobsahuje z hlediska obsahu nic nového. Co bylo ovšem změněno, je forma prezentace dat. Je zde uveden graf, který je schopen dynamicky zobrazovat data, která uživatel vybere na základě parametrů uvedených na téže straně. Zde lze vybírat na základě území a období, přičemž data jsou členěna dle kategorií. Kromě grafu je zde uveden ještě jeden vizuální prvek a to sice podmíněné vybarvování sloupců v poměru k ostatním hodnotám. Lze tak na první pohled odlišit, která kategorie má největší náklady, tržby a zisk. • V poslední části je uveden přehled indikátoru stavu zisku, který byl navržen a popsán v předchozí kapitole. Kromě klasické tabulky, která uvádí zisk na základě zvolených parametrů, jsou zde uvedeny sloupce cílový zisk, stav a trend. Sloupec zisk je aktuální zisk pro danou položku, zatímco cílový zisk představuje číselnou metu, které chce podnik dosáhnout. Sloupce stav a trend jsou znázorněny pomocí ikon, které se nastaví na patřičný tvar pomocí vypočítaných hodnot z vytvořené KPI. Tato ukázka je uvedena na obrázku 20. 52 4.3 Analýza (OLAP) 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Obrázek 20: Ukázka OLAP analýzy v programu Microsoft Excel 53 4.4 Data mining 4.4 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Data mining Cílem této části je vytvořit data miningový model a ten vzápětí pomocí různých metod analyzovat. Výstupem této kapitoly budou jednak schémata a grafy vytvořené v programu Analysis Services, a zároveň také různé poznatky a vztahy mezi zkoumanými atributy daného podnikového procesu či oddělení.87 Proces začlenění data miningu do systému se stejně jako v předchozích částech dá rozdělit do několika fází. 1. Vymyšlení zkoumaných parametrů 2. Vytvoření datové struktury pro zkoumání 3. Vytvoření modelů pro zkoumání 4. Zkoumání dat Nejprve je tedy třeba rozhodnout, které vztahy a souvislosti mezi daty se budou zkoumat. Pro prodejní odvětví je bezesporu nejdůležitějším faktorem vztah mezi zákazníkem a produktem, který kupuje. Proto lze formulovat otázku, na kterou se následná analýza dat bude snažit odpovědět, následovně: „Jaký je vztah mezi vlastnostmi zákazníka88 a typem produktu, který pořizuje?” Jako konkrétní příklady mohou posloužit následující úvahy: „Kupují si MP3 přehrávače a jinou elektroniku spíše mladí lidé a naopak domácí spotřebiče spíše lidé starší? Jakou roli hraje v nákupu počet dětí zákazníka? Je nějaký vztah mezi vzděláním či zaměstnáním zákazníka a typem produktu?” A nebo také: „Kupují si elektroniku spíše bohatí lidé?” Na základě těchto úvah je nutné vytvořit datovou strukturu, ze které je program Analysis Services schopen získat požadované údaje. Byla tedy vytvořena tabulka obsahující všechny relevantní údaje o zákazníkovi a zároveň informace o tom, který typ produktu daný zákazník nakupoval. Pro každý z nich byl vytvořen příslušný sloupec a následně byla pomocí SQL příkazu do tabulky načtena data z ostatních tabulek datového skladu. Výslednou podobu vytvořené tabulky i se všemi atributy ilustruje obrázek 21. Následně bylo nutné tato data integrovat do programu Analysis Services a určit jednotlivé modely, které se budou analyzovat. Kromě načtení samotné tabulky bylo také třeba určit atributy, které slouží jako vstup a atributy, které se budou předpovídat. Z úvodu je patrné, že jako vstupní atributy budou sloužit věk, pohlaví, počet dětí, ukončené vzdělání, zaměstnání a příjem. Naopak zkoumané hodnoty budou vybrané typy produktů. V teoretické části bylo popsáno několik odlišných technik a algoritmů pro zkoumání závislostí mezi daty. Pro tento případ byly jako nejvhodnější zvoleny metody Decision trees, Clustering, Neural network a Association rules a na základě toho byly také vytvořeny patřičné data miningové modely. 87 Vzhledem k tomu, že jediným způsobem, jak simulovat dvouletý chod provozního systému, bylo data pomocí víceméně náhodného algoritmu vygenerovat, nelze bohužel očekávat nějaké vysoké závislosti mezi jednotlivými atributy. Stejně tak je možné, že některá výsledná spojení budou naprosto odporovat reálným poznatkům. Na druhou stranu je nutné zdůraznit, že výsledky zde uváděné jsou spíše určitou nadstavbou, nebot’ principialně šlo především o demonstraci vytvoření data miningového modelu z datového skladu a názorné ukázky jeho možností. 88 Vlastnostmi zákazníka jsou myšleny informace, které jsou uchovány v databázi. Tedy jeho věk, vzdělání, zaměstnání, příjem atd. 54 4.4 Data mining 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Poté, co se, stejně jako u OLAP kostky, uvedou modely do produkce, lze již začít se samotným „dolováním” dat. Výsledky jsou rozděleny na základě použitých metod pro jejich získání. Obrázek 21: Struktura data miningového modelu Decision tree Tato metoda ma dva různé výstupy, stejnojmenný Decision tree a Dependency network. • Decision tree - toto schéma zobrazuje hodnoty atributů, které nejvíce ovlivnily nákup zvoleného typu produktu. Je vidět, že v nejvíce případech je nákup ovlivňován pohlavím zákazníků. U domácího kina však má na nákup produktu vliv také věk. Je vidět, že z mužů mladších 63 let si produkt zakoupilo 292 a nekoupilo 24 a zároveň všichni muži starších 63 let si produkt zakoupili. Podoba tohoto výstupu je zachycena na obrázku 22. • Dependency network - tento diagram zachycuje atributy z předešlého schématu ovšem v grafické podobě tak, aby byly jasně vidět jejich vztahy a zároveň jejich síla. Jak již bylo řečeno, nákup produktů nejvíce ovlivňuje pohlaví, dále pak příjem a věk, který má však vliv pouze na nákup domácího kina. Co se týče síly jednotlivých vztahů, je možné vidět že největší vliv má pohlaví zákazníka na nákup digitálního fotoaparátu. Neural network Tato metoda počítá konkrétní hodnoty a pravděpodobnosti toho, jak moc dané atributy ovlivňují koupi produktu. U každého atributu lze vidět, jestli zákazníci s touto vlastností spíše kupují či nekupují daný produkt. Zároveň je také u obou možností uvedeno dříve definované skóre, které určuje procento zákazníků odpovídající jedné z možností. 55 4.4 Data mining 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Obrázek 22: Decision tree - nákup domácího kina Toto skóre například ukazuje, že všichni zákazníci, kteří jsou povoláním konzultanti, zásadně nekupují LCD televize, zatímco téměř 30% zákazníků ve věku mezi 15 - 30 lety tento produkt nakupuje rádo. Association rules Tato metoda hledá veškeré závislosti a vztahy mezi jednotlivými atributy. Jejím výsledkem jsou tři různé výstupy, Rules, Itemsets a Dependency network. • Rules - zde jsou uvedeny veškeré asociace, které byl tento algoritmus schopen v testovaném souboru nalézt. Výsledkem je tak spojení dvou a více atributů, které mají bud’ velkou pravděpodobnost společného výskytu, nebo má tento poznatek vysokou důležitost.89 Je vidět, že algoritmus našel velké množství spojení se 100% pravděpodobností výskytu. Například všichni manažeři, kteří mají dvě děti si kupují digitální fotoaparát, všichni lékaři s vysokoškolským vzděláním si kupují domácí kino atd. Naopak za nejvíce využitelný poznatek, ovšem jen se 40% pravděpodobností výskytu, tato metoda považuje fakt, že zákazníci, kteří pracují jako právníci a mají jedno dítě si nekupují ledničku. • Itemsets - tento výstup zobrazuje nejčastěji se vyskytující hodnoty atributů v testovacím souboru. Je vidět, že se jedná především o kombinace nákupů různých typů produktů. Naopak nejméně se vyskytující kombinace byla například IT specialista s ukončeným základním vzděláním, který si pořizuje domácí kino. • Dependency network - tato metoda zobrazuje všechny zjištěné asociace a jejich sílu v grafické podobě. Asociací je samozřejmě obrovské množství, a tak je nutné ty méně důležité vyfiltrovat. Tak lze zjistit, že nejsilnější vztah mají konzultanti, ekonomové či zpěváci nakupující hudební komponenty do auta. Tento diagram ilustruje obrázek 23. 89 Tuto hodnotu zobrazuje sloupec importance. V dokumentaci však Microsoft spíše než jako důležitost popisuje tuto vlastnost jako využitelnost v praxi. 56 4.4 Data mining 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Obrázek 23: Dependency network Clustering Princip tohoto algoritmu spočívá v rozdělení testovaného souboru na určité skupiny dat, clustery. Do těchto clusterů jsou vkládány pouze objekty, které si jsou něčím podobné, naopak jednotlivé clustery musí být, pokud možno, co nejodlišnější. Tato metoda má hned několik výstupů. • Cluster diagram - zde je vidět diagram vztahů mezi jednotlivými clustery. Opět je možné filtrovat pouze silnější vztahy a tak je vidět, že největší vazba je mezi 8. a 10. clusterem. • Cluster profiles - toto je hlavní výstup celé metody. Jsou zde graficky znázorněny všechny zkoumané atributy v závislosti na jednotlivých clusterech. Díky tomuto znázornění je jasně vidět poměr obsahu atributů s určitou hodnotou v daném clusteru a je tak možné zjišt’ovat, zda má tato skutečnost nějaký vliv na zkoumané veličiny. V konkrétním případě si lze všimnout, že ve čtvrtém clusteru jsou takřka výhradně zákazníci, kteří mají vysokoškolské vzdělání. Přesto je vidět, že tento fakt nijak neovlivňuje výši prodaných produktů. Stejný efekt lze pozorovat i ve třetím clusteru, který je tvořen z 94% ženami, přesto nelze pozorovat nějakou závislost mezi prodanými kusy produktů. • Cluster characteristics a Cluster discrimination - v těchto výstupech lze prohlížet obsah jednotlivých clusterů a zároveň je navzájem porovnávat. V tomto případě neobsahují žádné nové poznatky.90 90 Další grafické výstupy data miningových algoritmů jsou uvedeny v příloze 1. 57 4.4 Data mining 4 NÁVRH A VYUŽITÍ DATOVÉHO SKLADU VE SPOJENÍ S BI Kromě konkrétních hodnot vypočítaných na základě výše uvedených metod, lze také ověřit, jak přesné tyto výpočty byly na základě tzv. lift chart grafu. Tento graf zobrazuje jednotlivé algoritmy v porovnání s ideálním modelem výpočtu. Tedy takovým modelem, který z testovacího souboru obsahujícího 50% dat, je schopen určit všechny vztahy a závislosti. Je vidět, že procentuální úspěšnost použitých algoritmů se pohybovala při tomto obsahu kolem 35%, což se dá označit za průměrně přesný výpočet. Dalším výstupem je tzv. prediction. Jedná se o algoritmus, který je schopen určit s jakou pravděpodobností se v budoucnu naplní zkoumaný jev. V tomto případě bylo zkoumáno, s jakou pravděpodobností si daný zákazník v budoucnu zakoupí domácí kino či MP3 přehrávač. Tyto hodnoty se většinou pohybovaly kolem 95%, ovšem lze vidět i výjimky, například zákazník číslo 1 si koupí přenosný přehrávač „pouze” s pravděpodobností 77%.91 91 Výpočet těchto pravděpodobností se nachází v tabulce data_mining_prediction v datovém skladu, nebot’ to byl jediný způsob, jak vypočítané výsledky uložit. 58 5 5 ZÁVĚR Závěr V souvislosti s tím, jak se mění ekonomická situace a jakým způsobem se zvětšuje objem podnikových dat, jsou firmy nuceny využívat stále více informačních systémů na podporu jejich rozhodování. Zároveň vzniká potřeba z firemních dat extrahovat potenciálně využitelné informace pro rozvoj podniku. Jedním ze systémů, které toto umožňují, je i Business Intelligence a jeho nezbytná součást, datový sklad. Tato práce si kladla za cíl jednak ověřit onu nezbytnost datového skladu ve spojení s BI, především pak ale chtěla znázornit veškeré výhody, které z tohoto spojení plynou. Tato problematika byla rozložena do několika kapitol, kde byla postupně studována. V první kapitole byly nejprve popsány a porovnány možné přístupy k vytvoření datových skladů. Bylo zjištěno, že především díky menším finančním nárokům a možnosti budovat datový sklad postupným způsobem, je v dnešní době upřednostňován spíše přístup Ralpha Kimballa. Zároveň byl v této kapitole porovnán datový sklad s operační databází a byly určeny jejich výhody a nevýhody s ohledem na využití pro BI. Vzhledem k tomu, že normalizované databáze jsou koncipovány především pro transakční operace, zatímco datové sklady díky své dimenzionální struktuře umožňují provádění rozsáhlých analytických dotazů ve srozumitelné podobě, bylo prokázáno, že datový sklad představuje pro BI takřka ideální zdroj. Ve druhé kapitole byl definován samotný termín Business Intelligence a následně byly rozebrány jeho jednotlivé kategorie. U každé z nich byly uvedeny výhody, které ve spojení s datovým skladem pro BI vznikají. U reportů bylo zjištěno, že jedině dimenzionální struktura datového skladu je schopna zaručit jednoduchost, která je základem pro vytváření veškerých reportů, a proto je v tomto případě využití datového skladu téměř nezbytné. U OLAP analýzy bylo řečeno, že datový sklad představuje v podstatě jediný možný zdroj, nebot’ i vytvoření MDD musí probíhat z dimenzionálního modelu. Datový sklad je navíc schopen fungovat přímo jako základ pro analytické dotazování, které je v tom případě nazýváno ROLAP. Pro využití datového skladu jako zdroje pro data mining je, spíše než jeho struktura, důležitý fakt, že obsahuje velké množství historických dat, které potřebují jednotlivé data miningové metody pro svůj výpočet. Na závěr této kapitoly byly nastíněny směry, kterými se v současné době vývoj datových skladů a BI ubírá. Byly definovány pojmy Real-time Business Intelligence a také Data warehousing 2.0, který představuje možného nástupce pro současnou a v této práci popisovanou generaci datových skladů. V praktické části byl navrhnut a implementován model datového skladu pro, za tímto účelem vytvořenou, fiktivní firmu. Následně byl tento datový sklad použit pro vytvoření různých typů reportů. V případě data miningu byl využit jako základ pro studii, která zkoumala možné dopady vlastností zákazníka na prodej jednotlivých typů produktů za pomoci odlišných metod a algoritmů. V kapitole týkající se OLAP analýzy byla vytvořena multidimenzionální databáze, která byla poté podrobena sérii analytických dotazů. V této části byl také kladen důraz na použití moderních aplikací, které jsou v tomto odvětví k dispozici. U BI byl znázorněn posun z komplexních speciali- 59 5 ZÁVĚR zovaných aplikací až do běžně rozšířených kancelářských programů jakým je například Microsoft Excel. Lze tedy říci, že práce splnila to, co si v úvodu předsevzala. Na základě rozebrání struktury datového skladu a jednotlivých BI kategorií bylo prokázáno, že datový sklad, na rozdíl od operační databáze, přináší BI velké množství výhod a možností. Bude však zajímavé sledovat vývoj tohoto odvětví do budoucna, nebot’, jak bylo v práci uvedeno, již nyní jsou známy technologie, které mají potenciál současnou generaci BI a datových skladů nahradit. Pokud se tak stane, je možné, že i jejich vzájemný vztah nabere jinou podobu, než jakou má v dnešní době a než jaká byla demonstrována v této práci. 60 6 6 CONCLUSION Conclusion Along with unstable economical situation and increasing number of corporate data, companies are forced to use more information systems to support their decisions. Also a new need for extracting potentially valuable information out of the company’s data rises. One of the systems that allows this is Business Intelligence and its essential part data warehouse. Aim of this thesis was partly to verify the need of a data warehouse in conjunction with BI, but mostly to emphasize all the advantages that result from this connection. This subject has been divided into several chapters, where it has been consequently studied. In the first chapter possible perspectives of building a data warehouse have been at first described and then compared. It is possible to say that, primarily due to less financial expenditures and the possibility to build a data warehouse step by step, perspective of Ralph Kimball is slightly more preferable nowadays. Furthemore data warehouse has been in this chapter compared with an operational database and then all the advantages or disadvantages of both technologies regarding their usage for BI have been identified. While normalized databases are designed mainly for transactional operations, data warehouses due to their structure allow performing of large analytical queries in an understandable form and that is why they are also considered to be an ideal source for BI. In the second chapter the term Business Intelligence and consequently its relevant categories have been described. In every one of them all the advantages that result from the connection with a data warehouse for BI have been identified. In case of reports it has been proven that only the dimensional structure of a data warehouse is able to guarantee their simplicity and usability. As these are the most important features for creating any reports, usage of a data warehouse is almost a necessity. Concerning OLAP analysis it has been mentioned that a data warehouse represents the only possible source for even the creation of a MDD must be proceeded from a dimensional model. In addition data warehouse is able to function as a base for analytical querying which is in that case called ROLAP. For usage of a data warehouse as a source for data mining is rather than his structure important the fact that it contains large amount of historical data, which are needed by the particular data mining methods. At the conclusion of this chapter possible directions of future development of data warehouses and BI have been outlined. Also terms as Real-time Business Intelligence and Data warehousing 2.0, which presents a potential successor for contemporary and in this thesis described generation of data warehouses, have been defined. In the practical part of this thesis a model of a data warehouse has been designed and implemented. In consequence it has been used as a source for creation of different types of reports. In case of data mining the model has been used as a base for a study, which has been examining possible effects of customer characteristics on sales of various types of products using distinc methods and algorithms. In the event of OLAP analysis multidimensional database has been firstly created and then submitted to a set of analytical queries. There has been an emphasis in this 61 6 CONCLUSION chapter to use only the modern applications that are available in this discipline. In context of BI a drift from complex and specialized applications to wide-spread computer programmes such as Microsoft Excel has been demonstrated. It is therefore possible to say that this thesis has fulfilled everything that it has resolved in the introduction. By analyzing the structure of a data warehouse and particular BI categories it has been proven that data warehouse unlike operational database provides BI many possibilities and advantages. On the other hand it will be interesting to observe a progression of this segment in future, for as it has been mentioned in the thesis, that technologies with a high potential of replacing the contemporary generation of BI and data warehouses, are already available. Considering this, it is possible that even their relationship will obtain a different form than it has nowadays and that has been demonstrated in this thesis. 62 Reference [1] KIMBALL, Ralph; ROSS Margy. The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling. 2nd ed. Wiley Publishing. Canada. 2002. 440 s. ISBN 0-471-20024-7 [2] INMON, William Harvey. Building the Data Warehouse. 3rd ed. Wiley Publishing. Canada. 2002. 412 s. ISBN 0-471-08130-2 [3] RAINARDI, Vincent. Building a Data Warehouse: With Examples in SQL Server. Apress. United States of America. 2008. 523 s. ISBN 978-1-59059-0 [4] MUNDY, Joy; THORNWAITE, Warren; KIMBALL, Ralph et al. The Microsoft Data Warehouse Toolkit: With SQL Server 2005 and the Microsoft Business Intelligence Toolset. Wiley Publishing. Canada. 2006. 746 s. ISBN 978-0-471-26715-7 [5] MOSS, Larissa T.; ATRE, Shaku. Business Intelligence Roadmap:The Complete Project Lifecycle for Decision-Support Applications. Pearson Education. Canada. 2003. 543 s. ISBN 0-201-78420-3 [6] LOSHIN, David. Business Intelligence - The Savvy manager’s guide. Getting Onboard with Emerging IT. Morgan Kaufmann Publishers. United States of America. 2003. 270 s. ISBN 978-1-55860-916-7 [7] BERRY, Michael J.A.; LINOFF, Gordon S. Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management. 2nd ed. Wiley Publishing. Indianopolis (Indiana). 2004. 643 s. ISBN 0-471-47064-3 [8] LARSON, Brian. Delivering Business Intelligence with Microsoft SQL Server 2008. McGrawHill. 2009. United States of America. 770 s. ISBN 978-0-07-154945-5 [9] ANUPINDI, Nagesh V. Inmon vs. Kimball [online]. 25.8.2005, poslední revize 10.3.2010 [cit. 2010-03-15]. Dostupné z: <http://www.nagesh.com/publications/technology/173-inmonvs-kimball-an-analysis.html> [10] Data warehouse - Wikipedia, the free encyklopedia [online]. poslední revize 15.3.2010 [cit. 2010-03-16]. Dostupné z: <http://en.wikipedia.org/wiki/Data_warehouse> [11] Star schema - Wikipedia, the free encyklopedia [online]. poslední revize 15.3.2010 [cit. 201003-16]. Dostupné z: <http://en.wikipedia.org/wiki/Star_schema> [12] Snowflake schema - Wikipedia, the free encyklopedia [online]. poslední revize 15.3.2010 [cit. 2010-03-16]. Dostupné z: <http://en.wikipedia.org/wiki/Snowflake_schema> [13] Kimball vs. Inmon...or, How to build a Data Warehouse [online]. 8.8.2006. [cit. 2010-0319]. Dostupné z: <http://it.toolbox.com/blogs/confessions/kimball-vs-inmonor-how-to-build-adata-warehouse-10987> 63 [14] GREENFIELD, Larry. The Data Warehousing Information Center [online]. 1995. poslední revize 14.1.2010 [cit. 2010-03-19]. Dostupné z: <http://www.dwinfocenter.org/defined.html> [15] UTLEY, Craig. Designing the Star Schema Database [online]. 1995. Ver. 1.1. poslední revize 17.7.2008 [cit. 2010-03-23]. Dostupné z: <http://ciobriefings.com/Publications/WhitePapers/DesigningtheStarSchemaDatabase/tabid/101/Default.aspx> [16] FIRESTONE, The Data Joseph M. Warehouse Dimensional [online]. Modeling 22.6.1998, [cit. and E-R Modeling In 2010-03-24]. Dostupné z: <http://www.dkms.com/papers/dmerdw.pdf> [17] KIMBALL, prise Ralph. [online]. Fact Tables 1.1.2003, [cit. and Dimension 2010-03-25]. Tables Dostupné z: Intelligent enter- <http://intelligent- enterprise.informationweek.com/030101/602warehouse1_1.jhtml> [18] Online analytical processing - Wikipedia, the free encyklopedia [online]. poslední revize 14.4.2010 [cit. 2010-04-18]. Dostupné z: <http://en.wikipedia.org/wiki/Olap> [19] Hierarchy - OLAP.com, Your Source to Learn about OLAP [online]. poslední revize 9.3.2009 [cit. 2010-04-19]. Dostupné z: <http://www.olap.com/w/index.php/Hierarchy> [20] Real-Time Business Intelligence - Gravic [online]. c2010, [cit. 2010-04-22]. Dostupné z: <http://www.gravic.com/shadowbase/uses/realtimebusinessintelligence.html> [21] AZVINE, the B.; Adaptive CUI, Z., Enterprise et al. Real [online]. Time [cit. Business Intelligence for 2010-04-22]. Dostupné z: <http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.101.194&rep=rep1&type=pdf> [22] INMON, William H. DW 2.0 - Architecture for the Next Generation of Data Warehousing - Information Management [online]. 04.2006, [cit. 2010-04-22]. Dostupné z: <http://www.information-management.com/issues/20060401/1051111-1.html> [23] Data Warehousing Concepts - Oracle [online]. poslední revize 17.5.2004 [cit. 2010-03-15]. Dostupné z: <http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10736/concept.htm> 64 Seznam obrázků 1 Integrovanost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2 Integrovaný datový sklad podle W.H. Inmona . . . . . . . . . . . . . . . . . . . . . 12 3 Datový sklad podle Ralpha Kimballa . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4 Normalizovaný přístup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5 Hvězdicové schéma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6 Vločkové schéma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 7 Multidimenzionální databáze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 8 Slicing a dicing MDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 9 Produktová hierarchie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 10 Klasifikace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 11 Asociace - Market basket analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 12 Reprezentace textové analýzy pomocí data miningu . . . . . . . . . . . . . . . . . 36 13 Struktura DW 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 14 Konceptuální schéma datového skladu . . . . . . . . . . . . . . . . . . . . . . . . . 40 15 Logický model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 16 Fyzický model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 17 Proces integrace dat do databáze . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 18 Přehled zákazníků . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 19 Přehled týdenních tržeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 20 Ukázka OLAP analýzy v programu Microsoft Excel . . . . . . . . . . . . . . . . . . 53 21 Struktura data miningového modelu . . . . . . . . . . . . . . . . . . . . . . . . . . 55 22 Decision tree - nákup domácího kina . . . . . . . . . . . . . . . . . . . . . . . . . . 56 23 Dependency network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 24 OLAP analýza - příklad drill up/down funkčnosti . . . . . . . . . . . . . . . . . . . . I 25 OLAP analýza - příklad sekání datové kostky . . . . . . . . . . . . . . . . . . . . . II 26 OLAP analýza - ukázka grafických možností v programu Microsoft Excel . . . . . . III 27 Data mining - Decision trees - Dependency network . . . . . . . . . . . . . . . . . IV 28 Data mining - Neural network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V 29 Data mining - Cluster profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VI 30 Data mining - Lift chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII 65 Seznam použitých symbolů a zkratek BI Business Intelligence DSS Decision Support System OLAP Online Analytical Processing MOLAP Multidimensional Online Analytical Processing ROLAP Relational Online Analytical Processing HOLAP Hybrid Online Analytical Processing OLTP Online Transaction Processing MDD Multidimensional database DW 2.0 Data Warehousing 2.0 KPI Key Performance Indicator ODS Operational Data Store CRM Customer relationship management RTBI Real-time Business Intelligence 66 Seznam příloh • Příloha 1 - Dodatečné výstupy OLAP analýzy a data miningu • Příloha 2 - CD s výstupy praktické části 67 PŘÍLOHA 1 - Dodatečné výstupy OLAP analýzy a data miningu Obrázek 24: OLAP analýza - příklad drill up/down funkčnosti I Obrázek 25: OLAP analýza - příklad sekání datové kostky II Obrázek 26: OLAP analýza - ukázka grafických možností v programu Microsoft Excel III Obrázek 27: Data mining - Decision trees - Dependency network IV Obrázek 28: Data mining - Neural network V Obrázek 29: Data mining - Cluster profiles VI Obrázek 30: Data mining - Lift chart VII PŘÍLOHA 2 - CD obsahující výstupy praktické části Obsah přiloženého cd: /analyza_olap - soubor obsahující výstupy OLAP analýzy /data_mining1 - složka obsahující soubory týkající se data miningu /data_warehouse - zálohovaný databázový sklad /dw - fyzicky - soubor s fyzickým modelem datového skladu /dw - logicky - soubor s logickým modelem datového skladu /Multidimensional database - složka obsahující soubory nutné pro vytvoření multidimenzionální databáze /pruvodce - soubor s informacemi o instalaci /Report1 - report s přehledem zákazníků /Report2 - report s přehledem týdenních tržeb VIII
Podobné dokumenty
Business Intelligence systémy - Think Together 2016
Business Intelligence (BI) systémy slouží, na rozdíl od běžných
transakčních systémů1, primárně k podpoře rozhodovací
činnosti. BI systémy poskytují ve vhodné formě agregovaná
analytická data odvoz...
petr_jasa_datove_sklady
obsahuje časový element, explicitně nebo implicitně
ale klíč u operačních dat nemusí vždy obsahovat časový
element
Pr˚uvodce Linuxem
3.3.2.3 Linuxové souborové systémy
3.3.3 Výběr softwaru k instalaci . . . . . . .
3.3.4 Instalace . . . . . . . . . . . . . . . .
3.3.5 Konfigurace zavaděče . . . . . . . . .
3.3.6 Zadání hesla ...
1. PROČ TO VŠECHNO? ......................................................
Jaký názor má vaše organizace na public relations, na komplexní práci s veřejností? Anebo - co si
představujete pod těmito pojmy? Odpovězte volbou jedné nebo více odpovědí.
A) Nevím - nikdy jsme o ...
Magnetic Levitation Control 1 Princip procesu magnetické
Následuje zvolenı́ časové prodlevy mezi jednotlivými akčnı́mi zásahy g).
Maximálnı́ prodleva mezi akčnı́mi zásahy pro kterou lze tento proces regulovat je 1ms.
V přı́padě použitı́ nové...