• datové kostky OLAP. OLAP-CUBE (dynamické hlášení správy)

    Anotace: Tato přednáška pokrývá základy návrhu datových kostek pro datové sklady OLAP. Příklad ukazuje, jak vytvořit datovou krychli pomocí nástroje CASE.

    Účel přednášky

    Po prostudování materiálu této přednášky budete vědět:

    • v čem je datová kostka datový sklad OLAP ;
    • jak navrhnout datovou kostku pro Datové sklady OLAP ;
    • co je dimenze datové krychle;
    • jak skutečnost souvisí s datovou krychlí;
    • co jsou atributy dimenze;
    • co je hierarchie;
    • co je metrika datové krychle;

    a učit:

    • stavět vícerozměrné grafy ;
    • design jednoduchý vícerozměrné grafy.

    Úvod

    Technologie OLAP není samostatná software, Ne programovací jazyk. Pokud se pokusíte pokrýt OLAP ve všech jeho projevech, pak se jedná o soubor konceptů, principů a požadavků, které jsou základem softwarových produktů, což analytikům usnadňuje přístup k datům.

    Analytici jsou hlavními spotřebiteli podnikových informací. Úkolem analytika je najít vzory ve velkých souborech dat. Analytik proto nebude věnovat pozornost jediné skutečnosti, že v určitý den byla kupci Ivanovovi prodána dávka kuličkových per - potřebuje informace o stovkách a tisících podobných událostí. Jednotlivá fakta v datovém skladu mohou zajímat například účetní nebo vedoucího obchodního oddělení, v jehož kompetenci je podpora konkrétní zakázky. Jeden záznam analytikovi nestačí – může například potřebovat informace o všech smlouvách o prodejních místech za měsíc, čtvrtletí nebo rok. Analytics nemusí mít zájem o DIČ kupujícího nebo jeho telefonní číslo - pracuje s konkrétními číselnými údaji, což je podstatou jeho profesionální činnosti.

    Centralizace a pohodlné strukturování nejsou zdaleka vše, co analytik potřebuje. Potřebuje nástroj pro prohlížení, vizualizaci informací. Tradiční reporty, byť postavené na bázi jediného datového skladu, jsou však ochuzeny o jistou flexibilitu. Nelze je „zkroutit“, „rozbalit“ nebo „sbalit“, abyste získali požadovaný pohled na data. Čím více „slices“ a „slices“ dat může analytik prozkoumat, tím více má nápadů, které zase vyžadují více a více „slices“ pro ověření. Jako takový nástroj pro průzkum dat je analytikem OLAP.

    Ačkoli OLAP není nezbytným atributem datového skladu, stále více se používá k analýze informací nashromážděných v tomto datovém skladu.

    Provozní data se shromažďují z různých zdrojů, čistí, integrují a přidávají do datového skladu. Zároveň jsou již dostupné pro analýzu pomocí různých reportovacích nástrojů. Poté jsou data (celá nebo jejich část) připravena pro analýzu OLAP. Mohou být načteny do speciální OLAP databáze nebo ponechány v relačním datovém skladu. Nejdůležitější prvek použití OLAP jsou metadata, tj. informace o struktuře, rozložení a transformace dat. Díky nim je zajištěna efektivní souhra různých komponent úložiště.

    Tím pádem, OLAP lze definovat jako sadu nástrojů pro vícerozměrnou analýzu dat nashromážděných v datovém skladu. Teoreticky lze nástroje OLAP aplikovat přímo na provozní data nebo jejich přesné kopie. Existuje však riziko, že budou podrobena analýze data, která nejsou pro tuto analýzu vhodná.

    OLAP na klientovi a serveru

    Základem OLAP je multidimenzionální analýza dat. Lze jej vyrábět pomocí různých nástrojů, které lze podmíněně rozdělit na klientské a serverové OLAP nástroje.

    Nástroje OLAP na straně klienta jsou aplikace, které počítají a zobrazují agregovaná data (součty, průměry, maxima nebo minima) a samotná agregovaná data se ukládají do mezipaměti v adresním prostoru nástroje OLAP.

    Pokud jsou zdrojová data obsažena v desktopovém DBMS, agregovaná data vypočítává samotný nástroj OLAP. Pokud je zdrojem zdrojových dat server DBMS, mnoho klientských nástrojů OLAP odešle na server dotazy SQL obsahující klauzuli GROUP BY a v důsledku toho obdrží agregovaná data vypočítaná na serveru.

    Funkčnost OLAP je zpravidla implementována v nástrojích pro statistické zpracování dat (produkty společností Stat Soft a SPSS jsou široce distribuovány mezi produkty této třídy na ruském trhu) a v některých tabulkových procesorech. Zejména Microsoft Excel 2000. Pomocí tohoto produktu můžete vytvořit a uložit jako soubor malou lokální vícerozměrnou OLAP krychli a zobrazit její dvou- nebo trojrozměrné části.

    Mnoho vývojové nástroje obsahují knihovny tříd nebo komponent, které umožňují vytvářet aplikace, které implementují nejjednodušší funkce OLAP (jako jsou komponenty Decision Cube v Borland Delphi a Borland C++Builder). Navíc mnoho společností nabízí řízení ActiveX a další knihovny, které implementují podobnou funkcionalitu.

    Všimněte si, že klientské nástroje OLAP se zpravidla používají s malým počtem dimenzí (obvykle se nedoporučuje více než šest) a malým množstvím hodnot pro tyto parametry - přijatá agregovaná data se přece musí vejít do adresního prostoru takového nástroje a jejich počet roste exponenciálně s rostoucím počtem měření. Proto i ty nejprimitivnější klientské nástroje OLAP zpravidla umožňují provést předběžný výpočet množství požadované paměti RAM k vytvoření vícerozměrné krychle.

    Mnoho (ale ne všechny) nástroje OLAP na straně klienta umožňují uložit obsah mezipaměti agregovaných dat jako soubor, což zase brání jejich opětovnému výpočtu. Všimněte si, že tato příležitost se často používá k odcizení agregovaných dat za účelem jejich přenosu do jiných organizací nebo ke zveřejnění. Typickým příkladem takto odcizených agregovaných dat je statistika výskytu v různých regionech a v různých věkových skupinách, což je otevřené informace, kterou zveřejnila ministerstva zdravotnictví různých zemí a Světová zdravotnická organizace. Přitom samotný původní údaj, který je informací o konkrétní případy nemocí, jsou důvěrnými údaji lékařských institucí a v žádném případě by se neměly dostat do rukou pojišťoven a ještě více se tak stát veřejnými.

    Myšlenka na uložení mezipaměti s agregovanými daty v souboru dostala své další vývoj v nástrojích OLAP na straně serveru, ve kterých ukládání a úpravy agregovaných dat, stejně jako údržba úložiště, které je obsahuje, jsou prováděny samostatnou aplikací nebo procesem nazývaným server OLAP. Klientské aplikace mohou požadovat takové vícerozměrné úložiště a přijímat některá data jako odpověď. Některé klientské aplikace mohou také taková úložiště vytvářet nebo je aktualizovat podle změněných zdrojových dat.

    Výhody použití serverových nástrojů OLAP ve srovnání s klientskými nástroji OLAP jsou podobné výhodám použití serverových DBMS ve srovnání s desktopovými: v případě použití serverových nástrojů dochází k výpočtu a ukládání agregovaných dat na serveru a klientské aplikaci přijímá pouze výsledky dotazů na ně, což umožňuje obecně snížit síťový provoz, dodací lhůta požadavky a požadavky na prostředky spotřebované klientskou aplikací. Všimněte si, že podniková analýza a zpracování dat jsou zpravidla založeny přesně na serverových nástrojích OLAP, jako jsou například Oracle Express Server, Microsoft SQL Server 2000 Analysis Services, Hyperion Essbase, produkty Crystal Decisions, Business Objects, Cognos. , institut S.A.S. Vzhledem k tomu, že všichni přední výrobci serverových DBMS vyrábějí (nebo mají licencované od jiných společností) určité serverové OLAP nástroje, je jejich výběr poměrně široký a téměř ve všech případech lze zakoupit OLAP server od stejného výrobce jako samotný databázový server.

    Všimněte si, že mnoho klientských nástrojů OLAP (zejména Microsoft Excel 2003, Seagate Analysis atd.) umožňuje přístup k serverovým úložištím OLAP, které v tomto případě fungují jako klientské aplikace, které spouštějí podobné žádosti. Kromě toho existuje mnoho produktů, které jsou klientskými aplikacemi pro nástroje OLAP od různých výrobců.

    Technické aspekty ukládání vícerozměrných dat

    Vícerozměrné datové sklady obsahují agregovaná data různého stupně podrobnosti, například objemy prodeje podle dne, měsíce, roku, kategorie produktu atd. Účelem ukládání souhrnných dat je snížení dodací lhůta požadavky, protože ve většině případů pro analýzy a prognózy nejde o podrobné, ale o souhrnné údaje, které jsou zajímavé. Proto se při vytváření vícerozměrné databáze vždy vypočítá a uloží nějaká agregovaná data.

    Upozorňujeme, že ukládání všech agregovaných dat není vždy opodstatněné. Faktem je, že při přidávání nových dimenzí roste množství dat tvořících kostku exponenciálně (někdy se říká o „explozivním růstu“ množství dat). Přesněji řečeno, kolik agregovaných dat naroste závisí na počtu dimenzí krychle a členů dimenze na různé úrovně hierarchie těchto dimenzí. K vyřešení problému „výbušného růstu“ se používají různá schémata, která umožňují při výpočtu daleko od všech možných agregovaných dat dosáhnout přijatelné rychlosti provádění dotazu.

    Zdrojová i agregovaná data mohou být uložena v relačních nebo vícerozměrných strukturách. V současnosti tedy existují tři způsoby ukládání dat.

    • MOLAP(Multidimenzionální OLAP) - zdrojová a agregovaná data jsou uložena ve vícerozměrné databázi. Ukládání dat ve vícerozměrných strukturách umožňuje manipulovat s daty jako s vícerozměrným polem, takže rychlost výpočtu agregovaných hodnot je pro kteroukoli z dimenzí stejná. V tomto případě je však vícerozměrná databáze nadbytečná, protože vícerozměrná data zcela obsahují původní relační data.
    • ROLAP(Relační OLAP) – Původní data zůstávají ve stejné relační databázi, kde se původně nacházela. Souhrnná data jsou umístěna v tabulkách služeb speciálně vytvořených pro jejich uložení ve stejné databázi.
    • HOLAP(Hybridní OLAP) – Původní data zůstávají ve stejné relační databázi, kde se původně nacházela, zatímco souhrnná data jsou uložena ve vícerozměrné databázi.

    Některé nástroje OLAP podporují ukládání dat pouze v relačních strukturách, některé - pouze ve vícerozměrných. Většina moderních serverových nástrojů OLAP však podporuje všechny tři způsoby ukládání dat. Volba způsobu ukládání závisí na objemu a struktuře zdrojových dat, požadavcích na rychlost provádění dotazu a četnosti aktualizace OLAP kostek.

    Všimli jsme si také, že naprostá většina moderních nástrojů OLAP neukládá „prázdné“ hodnoty (příkladem „prázdné“ hodnoty by byla absence prodeje sezónního zboží mimo sezónu).

    Základní koncepty OLAP

    FAMSI test

    Technologie komplexní analýzy vícerozměrných dat se nazývá OLAP (On-Line Analytical Processing). OLAP je klíčovou součástí organizace datového skladu. Koncept OLAP popsal v roce 1993 Edgar Codd, známý databázový výzkumník a autor relačního datového modelu. V roce 1995 na základě požadavků stanovených Coddem, tzv FASMI test(Fast Analysis of Shared Multidimensional Information) - rychlá analýza sdílených multidimenzionálních informací, včetně následujících požadavků na aplikace pro multidimenzionální analýzu:

    • Rychle(Fast) - poskytování výsledků analýzy uživateli v rozumném čase (obvykle ne více než 5 s), a to i za cenu méně podrobné analýzy;
    • Analýza(Analýza) - schopnost provádět jakoukoli logickou a statistickou analýzu specifickou pro danou aplikaci a uložit ji ve formě přístupné koncovému uživateli;
    • sdílené(Shared) - víceuživatelský přístup k datům s podporou vhodných zamykacích mechanismů a nástrojů pro autorizovaný přístup;
    • Multidimenzionální(Multidimenzionální) - Vícerozměrná koncepční reprezentace dat, včetně plné podpory hierarchií a více hierarchií (toto je klíčový požadavek OLAP);
    • informace(Informace) – aplikace musí mít přístup ke všem potřebným informacím bez ohledu na jejich objem a umístění.

    Je třeba poznamenat, že lze implementovat funkcionalitu OLAP různé způsoby, počínaje nejjednoduššími nástroji pro analýzu dat v kancelářské aplikace a konče distribuovanými analytickými systémy založenými na serverových produktech.

    Vícerozměrná reprezentace informace

    Kuba

    OLAP poskytuje pohodlné, vysokorychlostní prostředky pro přístup, prohlížení a analýzu obchodních informací. Uživatel dostane přirozené, intuitivní datový model, který je organizuje ve formě vícerozměrných krychlí (Cubes). Osy vícerozměrného souřadnicového systému jsou hlavními atributy analyzovaného podnikového procesu. Například u prodeje to může být produkt, region, typ kupujícího. Jako jedno z měření se používá čas. Na průsečících os měření (Dimensions) jsou údaje, které kvantitativně charakterizují proces - míry (Measures). Mohou to být objemy prodeje v kusech nebo v peněžním vyjádření, stavy zásob, náklady atd. Uživatel analyzující informace může kostku "rozřezat" v různých směrech, získat souhrn (například podle let) nebo naopak podrobný (týdně) informace a provádět další manipulace, které ho v procesu analýzy napadnou.

    Jak se měří v trojrozměrné krychli znázorněné na Obr. 26.1 se používají prodejní částky a jako měření čas, produkt a sklad. Měření jsou prezentována na konkrétních úrovních seskupení: produkty jsou seskupeny podle kategorií, obchody jsou seskupeny podle země a doby transakcí jsou seskupeny podle měsíců. O něco později se podíváme na úrovně seskupení (hierarchie) podrobněji.


    Rýže. 26.1.

    "řezání" kostky

    Dokonce i trojrozměrná krychle je obtížné zobrazit na obrazovce počítače, takže lze vidět hodnoty požadovaných mír. Co můžeme říci o kostkách s více než třemi rozměry. Pro vizualizaci dat uložených v krychli se zpravidla používají obvyklé dvourozměrné, tj. tabulkové reprezentace, které mají složitá hierarchická záhlaví řádků a sloupců.

    Dvourozměrnou reprezentaci krychle lze získat jejím „rozříznutím“ podél jedné nebo více os (rozměrů): zafixujeme hodnoty všech rozměrů kromě dvou a získáme pravidelný dvourozměrný stůl. Vodorovná osa tabulky (záhlaví sloupců) představuje jeden rozměr, svislá osa (záhlaví řádků) jiný rozměr a buňky tabulky představují hodnoty měření. V tomto případě je množina měr ve skutečnosti považována za jednu z dimenzí: buď vybereme jednu míru pro zobrazení (a pak můžeme umístit dvě kóty do záhlaví řádků a sloupců), nebo zobrazíme několik měr (a pak jednu os tabulky budou obsazeny názvy opatření a další - hodnotami jedné "neoříznuté" dimenze).

    (úrovně). Například popisky uvedené na nejsou podporovány všemi nástroji OLAP. Například v Microsoft Analysis Services 2000 jsou podporovány oba typy hierarchie, zatímco v Microsoft OLAP Services 7.0 jsou podporovány pouze ty vyvážené. V různých nástrojích OLAP se může lišit počet úrovní hierarchie a maximální povolený počet členů jedné úrovně a maximální možný počet samotných dimenzí.

    Architektura aplikací OLAP

    Vše, co bylo řečeno výše o OLAP, se ve skutečnosti týkalo vícerozměrné prezentace dat. Zhruba řečeno, koncový uživatel ani vývojáři nástroje, který klient používá, se nestarají o to, jak jsou data ukládána.

    Multidimenzionalitu v aplikacích OLAP lze rozdělit do tří úrovní.

    • Multidimenzionální reprezentace dat – nástroje pro koncové uživatele, které poskytují vícerozměrnou vizualizaci a manipulaci s daty; vrstva vícerozměrné reprezentace abstrahuje od fyzické struktury dat a zachází s daty jako s vícerozměrnými.
    • Vícerozměrné zpracování je nástroj (jazyk) pro formulování vícerozměrných dotazů (tradiční relační jazyk SQL se zde ukáže jako nepoužitelný) a procesor schopný takový požadavek zpracovat a provést.
    • Multidimenzionální úložiště - prostředky fyzické organizace dat, které poskytují efektivní provádění vícerozměrných dotazů.

    První dvě úrovně v bez chyby přítomný ve všech nástrojích OLAP. Třetí úroveň, i když je široce používána, není vyžadována, protože data pro vícerozměrnou reprezentaci lze také získat z běžných relačních struktur; procesor vícerozměrných dotazů v tomto případě převádí vícerozměrné dotazy na dotazy SQL, které se provádějí relační DBMS.

    Specifické produkty OLAP jsou obvykle buď multidimenzionální nástroj pro prezentaci dat (klient OLAP – například kontingenční tabulky v Excelu 2000 od Microsoftu nebo ProClarity od Knosys) nebo multidimenzionální back-end DBMS (OLAP server – například Oracle Express Server nebo Microsoft OLAP Služby).

    Vrstva vícerozměrného zpracování je obvykle zabudována do klienta OLAP a/nebo serveru OLAP, ale lze ji izolovat ve své nejčistší podobě, jako je například komponenta služby kontingenční tabulky společnosti Microsoft.

    OLAP (On-Line Analytical Processing) je způsob elektron analytické zpracování data, která představují uspořádání dat do hierarchických kategorií pomocí předem vypočítaných součtů. Data OLAP jsou organizována hierarchicky a uložena spíše v krychlích než v tabulkách. Krychle OLAP jsou vícerozměrná datová sada s osami, na kterých jsou vyneseny parametry, a buňkami obsahujícími agregovaná data závislá na parametrech. Kostky jsou navrženy pro komplexní, vícerozměrnou analýzu velkého množství dat, protože poskytují pouze souhrnné výsledky pro sestavy namísto velkého počtu jednotlivých záznamů.

    Koncept OLAP popsal v roce 1993 známý databázový badatel a autor relačního datového modelu E. F. Codd. V současné době je podpora OLAP implementována v mnoha DBMS a dalších nástrojích.

    OLAP kostka obsahuje dva typy dat:

    Celkové hodnoty, hodnoty, pro které chcete sečíst, představující vypočítaná datová pole;

    popisné informace, které Měření nebo rozměry. Popisné informace jsou obvykle rozděleny do úrovní podrobností. Například: "Rok", "Čtvrtletí", "Měsíc" a "Den" v dimenzi "Čas". Rozdělením polí do úrovní podrobností si uživatelé sestav mohou vybrat úroveň podrobností, kterou chtějí zobrazit, počínaje souhrnem na vysoké úrovni a poté přejít k podrobnějšímu zobrazení a naopak.

    Nástroje Microsoft Query také umožňují vytvářet krychle OLAP z dotazu, který načítá data relační databáze, jako je např Microsoft Access, zatímco lineární tabulka je převedena do strukturní hierarchie (krychle).

    Vestavěný je Průvodce vytvořením kostky OLAP nástroj společnosti Microsoft dotaz. Chcete-li vytvořit krychli OLAP založenou na relační databázi, musíte před spuštěním průvodce provést následující kroky.

    1. Definujte zdroj dat (viz obrázek 6.1).

    2. Pomocí Microsoft Query vytvořte dotaz, včetně pouze těch polí, která budou buď datovými poli nebo dimenzemi krychle OLAP, pokud je pole v krychli použito více než jednou, musí být zahrnuto do dotazu správné číslo jednou.

    3. V posledním kroku Průvodce vytvořením dotazu nastavte přepínač na Vytvořte krychli OLAP z daná žádost (viz obr. 6.2) nebo po vytvoření dotazu pomocí Dotazovacích nástrojů přímo v menu Soubor vybrat tým Vytvořit OLAP kostka , který spustí Průvodce vytvořením kostky OLAP.

    Průvodce vytvořením krychle OLAP má tři kroky.

    V prvním kroku průvodce (viz obrázek 6.6) datová pole– Vypočítaná pole, pro která chcete definovat součty.



    Rýže. 6.6. Definování datových polí

    Navrhovaná vypočítaná pole (obvykle číselná pole) průvodce umístí na začátek seznamu, označí a určí konečnou funkci těchto polí, obvykle - Součet. Při výběru datových polí musí být alespoň jedno pole vybráno jako výpočtové pole a alespoň jedno pole musí zůstat nezaškrtnuté, aby bylo možné definovat dimenzi.

    Při vytváření OLAP kostky lze použít čtyři souhrnné funkce − Součet, Číslo(počet hodnot), Minimální, Maximum pro číselná pole a jednu funkci Číslo pro všechny ostatní obory. Pokud chcete pro stejné pole použít několik různých souhrnných funkcí, musí být toto pole zahrnuto v dotazu tolikrát, kolikrát je potřeba.

    Název vypočítaného pole lze ve sloupci změnit Název datového pole.

    Ve druhém kroku průvodce jsou definovány popisné údaje a jejich rozměry (viz obrázek 6.7). Chcete-li vybrat pole dimenze, musíte ze seznamu Zdrojová pole přetáhněte pole požadovaného rozměru nejvyšší úroveň do seznamu Měření do oblasti označené jako Přetažením polí sem vytvořte dimenzi. Chcete-li vytvořit krychli OLAP, musíte definovat alespoň jednu dimenzi. Ve stejném kroku průvodce můžete pomocí místní nabídky změnit název pole dimenze nebo úrovně.

    Rýže. 6.7. Definice rozměrových polí

    Pole, která obsahují izolovaná nebo odlišná data a nepatří do hierarchie, lze definovat jako dimenze s jednou úrovní. Použití krychle však bude efektivnější, pokud budou některá pole uspořádána do úrovní. Chcete-li vytvořit úroveň jako součást kóty, přetáhněte pole ze seznamu Zdrojová pole na poli, které je dimenzí nebo úrovní. Pole obsahující podrobnější informace by měla být umístěna na více nízké úrovně. Například na obrázku 6.7 pole Pracovní pozice je úroveň pole Název oddělení.

    Chcete-li pole přesunout na nižší nebo vyšší úroveň, přetáhněte jej na nižší nebo vyšší pole v rámci dimenze. Tlačítka nebo slouží k zobrazení nebo skrytí úrovní, resp.

    Pokud jsou jako dimenze nejvyšší úrovně použita pole data nebo času, Průvodce vytvořením krychle OLAP automaticky vytvoří úrovně pro tyto dimenze. Uživatel si pak může vybrat, které úrovně mají být v přehledech přítomny. Můžete například vybrat týdny, čtvrtletí a roky nebo měsíce (viz obrázek 6.7).

    Mějte na paměti, že průvodce automaticky vytvoří úrovně pro pole data a času pouze při vytvoření dimenze nejvyšší úrovně; když tato pole přidáte jako podúrovně existující dimenze, nevytvoří se žádné automatické úrovně.

    Ve třetím kroku průvodce se určí typ krychle, vytvořené mistrem, přičemž jsou možné tři možnosti (viz obr. 6.8).

    Rýže. 6.8. Výběr typu krychle, která má být vytvořena, ve třetím kroku průvodce

    · První dvě možnosti zahrnují vytvoření krychle při každém otevření sestavy (pokud je krychle zobrazena z Excelu, pak mluvíme o kontingenční tabulce). V tomto případě soubor žádosti a spis *.oqy krychle definice A obsahující pokyny pro vytvoření krychle. Soubor *.oqy lze otevřít v Excelu pro generování sestav založených na krychli, a pokud potřebujete provést změny v krychli, můžete jej otevřít pomocí Query to restartovat kostkový čaroděj.

    Ve výchozím nastavení jsou soubory definic krychle, stejně jako soubory dotazů, uloženy ve složce profilu uživatele v Application Data\Microsoft\Que-ries. Při ukládání souboru *.oqy do standardní složky se na kartě zobrazí název definičního souboru krychle OLAP kostky při otevírání nového dotazu v Microsoft Query nebo při výběru příkazu Vytvořit žádost(Jídelní lístek Data, podnabídka Import externích dat) v aplikaci Microsoft Excel.

    V případě volby třetí možnosti typu kostka Uložení souboru krychle obsahující všechna data pro krychli, načtou se všechna data pro kostku a vytvoří se soubor kostky s příponou * v umístění určeném uživatelem .mládě ve kterém jsou tato data uložena. Stvoření daný soubor neproběhne okamžitě po kliknutí na tlačítko Připraveno; soubor se vytvoří buď při uložení definice krychle do souboru, nebo při vygenerování sestavy z krychle.

    Výběr typu krychle je určen několika faktory: množstvím dat, která krychle obsahuje; typ a složitost sestav, které budou generovány na základě krychle; systémové prostředky (paměť a místo na disku) atd.

    Měl by být vytvořen samostatný soubor kostky *.cub následující případy:

    1) pro interaktivní sestavy, které se často a dostatečně mění místo na disku;

    2), když chcete kostku nechat zapnutou síťový server zpřístupnit ostatním uživatelům při vytváření sestav. Soubor krychle může poskytnout konkrétní data ze zdrojové databáze, přičemž vynechá tajná nebo citlivá data, ke kterým chcete zabránit ostatním uživatelům v přístupu.

    Datové kostky OLAP (Online Analytical Processing) umožňují efektivní extrakci a analýzu vícerozměrných dat. Na rozdíl od jiných typů databází jsou databáze OLAP navrženy speciálně pro analytické zpracování a rychlou extrakci všech druhů datových sad z nich. Ve skutečnosti existuje několik klíčových rozdílů mezi standardními relačními databázemi, jako je Access nebo SQL Server, a databázemi OLAP.

    Rýže. 1. Chcete-li připojit krychli OLAP k sešitu aplikace Excel, použijte příkaz Od Analysis Services

    Stáhněte si poznámku ve formátu popř

    V relačních databázích jsou informace reprezentovány jako záznamy, které se přidávají, odebírají a aktualizují postupně. Databáze OLAP ukládají pouze snímek dat. V databázi OLAP jsou informace archivovány jako jeden blok dat a jsou určeny pouze k zobrazení na vyžádání. I když je možné přidávat nové informace do databáze OLAP, existující data jsou zřídka upravována, natož pak vymazána.

    Relační databáze a databáze OLAP jsou strukturálně odlišné. Relační databáze se obvykle skládají ze sady tabulek, které jsou vzájemně propojeny. V některých případech relační databáze obsahuje tolik tabulek, že je velmi obtížné určit, jak spolu souvisí. V OLAP databázích je vztah mezi jednotlivými bloky dat předdefinován a uložen ve struktuře známé jako OLAP kostky. Datové kostky uchovávají kompletní informace o hierarchické struktuře a vztazích databáze, což výrazně zjednodušuje navigaci v ní. Navíc je mnohem jednodušší vytvářet sestavy, pokud předem víte, kde se načítaná data nacházejí a jaká další data jsou s nimi spojena.

    Hlavním rozdílem mezi relačními databázemi a databázemi OLAP je způsob ukládání informací. Data v krychli OLAP jsou zřídka prezentována obecně. Datové kostky OLAP obvykle obsahují informace prezentované v předem navrženém formátu. Operace seskupování, filtrování, řazení a slučování dat v krychlích se tedy provádějí před jejich naplněním informacemi. Díky tomu je extrahování a zobrazení požadovaných dat co nejjednodušší. Na rozdíl od relačních databází není potřeba informace před zobrazením na obrazovce správně organizovat.

    Databáze OLAP obvykle vytvářejí a udržují správci IT. Pokud vaše organizace nemá strukturu odpovědnou za správu databází OLAP, můžete se obrátit na správce relačních databází s požadavkem na implementaci v firemní síť alespoň jednotlivá řešení OLAP.

    Připojení k datové krychli OLAP

    Chcete-li získat přístup k databázi OLAP, musíte nejprve vytvořit připojení k datové krychli OLAP. Začněte přechodem na kartu pásu karet Data. Klepněte na tlačítko Z jiných zdrojů a vyberte příkaz z rozevírací nabídky Od Analysis Services(Obr. 1).

    Když vyberete zadaný příkaz Průvodce datovým připojením (obrázek 2). Jeho hlavním úkolem je pomoci vám navázat spojení se serverem, který bude použit. Excel program ve správě dat.

    1. Nejprve musíte Excelu poskytnout registrační informace. Do polí v dialogovém okně zadejte název serveru, přihlašovací jméno a heslo pro přístup k datům, jak je znázorněno na obr. 2. Klepněte na tlačítko Dále. Pokud se připojujete s účet Windows poté nastavte přepínač Použijte ověřování systému Windows.

    2. Vyberte databázi, se kterou chcete pracovat, z rozevíracího seznamu (obr. 3). Aktuální příklad používá databázi Analysis Services Tutorial. Po výběru této databáze z níže uvedeného seznamu budete vyzváni k importu všech dostupných krychlí OLAP. Vyberte požadovanou datovou kostku a klikněte na tlačítko Dále.

    Rýže. 3. Vyberte fungující databázi a krychli OLAP, kterou plánujete použít pro analýzu dat

    3. V dalším dialogovém okně průvodce, znázorněném na Obr. 4, musíte zadat popisné informace o připojení, které vytváříte. Všechna pole dialogového okna zobrazeného na Obr. 4 jsou volitelné. Aktuální dialog můžete vždy ignorovat, aniž byste jej vyplnili, a to nijak neovlivní připojení.

    Rýže. 4. Změňte popisné informace o připojení

    4. Klepněte na tlačítko Připraveno pro dokončení připojení. Na obrazovce se objeví dialogové okno. Import dat(obr. 5). Nastavte spínač sestava kontingenční tabulky a kliknutím na OK začněte vytvářet kontingenční tabulku.

    Struktura krychle OLAP

    V procesu vytváření kontingenční tabulky založené na databázi OLAP si všimnete, že okno podokna úloh Pole kontingenční tabulky se bude lišit od běžné kontingenční tabulky. Důvod spočívá v řazení kontingenční tabulky tak, aby co nejblíže zobrazovala strukturu k ní připojené OLAP kostky. Chcete-li se v kostce OLAP pohybovat co nejrychleji, musíte se seznámit s jejími součástmi a jejich vzájemným působením. Na Obr. Obrázek 6 ukazuje základní strukturu typické OLAP kostky.

    Jak vidíte, hlavními součástmi krychle OLAP jsou dimenze, hierarchie, úrovně, členové a míry:

    • Rozměry. Hlavní charakteristika analyzovaných datových prvků. Nejvíc běžné příklady dimenze zahrnují Produkty (Zboží), Zákazník (Kupující) a Zaměstnanec (Zaměstnanec). Na Obr. 6 ukazuje strukturu dimenze Produkty.
    • Hierarchie. Předdefinovaná agregace úrovní v zadané dimenzi. Hierarchie vám umožňuje vytvářet souhrnná data a analyzovat je na různých úrovních struktury, aniž byste se museli ponořit do vztahů, které mezi těmito úrovněmi existují. V příkladu znázorněném na Obr. 6 má dimenze Produkty tři úrovně, které jsou agregovány do jediné hierarchie kategorií produktů.
    • úrovně. Úrovně jsou kategorie, které jsou agregovány do společné hierarchie. Představte si úrovně jako datová pole, která lze dotazovat a analyzovat odděleně jedna od druhé. Na Obr. 6 existují pouze tři úrovně: Kategorie (Kategorie), Podkategorie (Podkategorie) a Název produktu (Název produktu).
    • členové. jediný prvek data v rámci dimenze. Přístup k členům je obvykle implementován prostřednictvím struktury OLAP dimenzí, hierarchií a úrovní. V příkladu na Obr. Pro úroveň Název produktu je definováno 6 členů. Ostatní úrovně mají členy, které nejsou ve struktuře zobrazeny.
    • opatření jsou reálná data v OLAP kostkách. Míry jsou uloženy ve vlastních rozměrech, které se nazývají rozměrové rozměry. Na míry lze dotazovat pomocí libovolné kombinace dimenzí, hierarchií, úrovní a členů. Tento postup se nazývá opatření „krájení“.

    Nyní, když jste obeznámeni se strukturou OLAP kostek, pojďme se znovu podívat na seznam polí kontingenční tabulky. Uspořádání dostupných polí je jasné a nevyvolává žádné stížnosti. Na Obr. Obrázek 7 ukazuje, jak jsou prvky kontingenční tabulky OLAP prezentovány v seznamu polí.

    V seznamu polí kontingenční tabulky OLAP se míry zobrazí jako první a jsou označeny ikonou součtu (sigma). Toto jsou jediné datové prvky, které mohou být v oblasti VALUE. Za nimi v seznamu jsou uvedeny rozměry označené ikonou s obrázkem tabulky. V našem příkladu je použita dimenze Zákazník. V této dimenzi je vnořena řada hierarchií. Po rozšíření hierarchie vidíte jednotlivé úrovně dat. Chcete-li zobrazit datovou strukturu krychle OLAP, stačí procházet seznamem polí v kontingenční tabulce.

    Omezení kontingenčních tabulek OLAP

    Práce s kontingenční tabulky OLAP, nezapomeňte, že komunikujete se zdrojem dat kontingenční tabulky v prostředí Analysis Services OLAP. To znamená, že každý aspekt chování datové krychle, od dimenzí po míry, které jsou v kostce zahrnuty, je také řízen analytickými službami OLAP. To zase vede k omezením operací, které lze provádět v kontingenčních tabulkách OLAP:

    • Do oblasti VALUES kontingenční tabulky nemůžete umístit jiná pole než míry;
    • nelze změnit funkci použitou pro sumarizaci;
    • nelze vytvořit počítané pole nebo počítanou položku;
    • jakékoli změny názvů polí jsou vráceny ihned po odstranění tohoto pole z kontingenční tabulky;
    • není dovoleno měnit parametry pole stránky;
    • příkaz není k dispozici Ukázatstránky;
    • zakázána možnost UkázatpodpisyPrvky když v oblasti hodnot nejsou žádná pole;
    • zakázána možnost Mezisoučty podle prvků stránky vybraných filtrem;
    • možnost není k dispozici Pozadížádost;
    • po poklepání na pole VALUES se vrátí pouze prvních 1000 záznamů z mezipaměti kontingenční tabulky;
    • zaškrtávací políčko nedostupné OptimalizovatPaměť.

    Vytvářejte offline datové kostky

    Ve standardní kontingenční tabulce jsou zdrojová data uložena na místním pevném disku. Můžete je tedy vždy spravovat, stejně jako měnit strukturu, a to i bez přístupu k síti. To ale v žádném případě neplatí pro kontingenční tabulky OLAP. V kontingenčních tabulkách OLAP mezipaměť není umístěna na místním pevném disku. Proto ihned po odpojení od lokální síť vaše kontingenční tabulka OLAP selže. Žádné z polí v takové tabulce nebudete moci přesunout.

    Pokud stále potřebujete analyzovat data OLAP, když nejste připojeni k síti, vytvořte offline datovou krychli. Toto je samostatný soubor, který je mezipamětí kontingenční tabulky. Tento soubor ukládá data OLAP, která jsou zobrazena po odpojení od místní sítě. Chcete-li vytvořit samostatnou datovou krychli, nejprve vytvořte kontingenční tabulku OLAP. Umístěte kurzor do kontingenční tabulky a klikněte na tlačítko OLAP nástroje kontextová karta Analýza zahrnutá v sadě kontextových karet Práce s kontingenčními tabulkami. Vyberte si tým OLAP offline(obr. 8).

    Na obrazovce se objeví dialogové okno. Nastavte offline OLAP(obr. 9). Klepněte na tlačítko Vytvořte offline datový soubor. Na obrazovce se objeví první okno Průvodce vytvořením souboru datové krychle. Klepněte na tlačítko Dále pokračovat v postupu.

    Ve druhém kroku (obrázek 10) zadejte rozměry a úrovně, které budou zahrnuty do datové kostky. V dialogovém okně musíte vybrat data, která mají být importována z databáze OLAP. Je nutné vybrat pouze ty rozměry, které budou potřeba po odpojení počítače od lokální sítě. Čím více rozměrů zadáte, tím větší velikost bude mít offline datovou kostku.

    Klepněte na tlačítko Dále přejděte ke třetímu kroku (obr. 11). V tomto okně vyberete členy nebo datové položky, které nebudou zahrnuty do krychle. Pokud není zaškrtávací políčko zaškrtnuto, zadaný prvek nebude importován a převezme se prostor navíc na místním pevném disku.

    Zadejte umístění a název datové krychle (obrázek 12). Soubory datové krychle mají příponu .cub.

    Po chvíli Excel uloží offline datovou kostku do zadané složky. Chcete-li to otestovat, poklepejte na soubor, čímž se automaticky vygeneruje sešit aplikace Excel, který obsahuje kontingenční tabulku spojenou s vybranou datovou krychlí. Po vytvoření můžete offline datovou kostku distribuovat všem zainteresovaným uživatelům, kteří pracují v offline režimu LAN.

    Po připojení k místní síti můžete otevřít soubor offline datové kostky a aktualizovat jej, stejně jako odpovídající datovou tabulku. Všimněte si, že ačkoli se offline datová krychle používá, když není přístup k síti, je nutné ji aktualizovat, když se obnoví připojení k síti. Pokus o aktualizaci offline datové krychle po přerušení síťového připojení bude mít za následek selhání.

    Použití funkcí datové krychle v kontingenčních tabulkách

    Funkce datových krychlí, které se používají v databázích OLAP, lze také spouštět z kontingenční tabulky. V zastaralé verze Excel, k funkcím datové krychle jste přistupovali až po instalaci doplňku Analysis ToolPak. V Excelu 2013 jsou tyto funkce zabudovány do programu, a proto jsou k dispozici pro použití. Chcete-li se plně seznámit s jejich schopnostmi, zvažte konkrétní příklad.

    Jeden z nejvíce jednoduchými způsoby Naučit se funkce datové krychle je převést kontingenční tabulku OLAP na vzorce datové krychle. Tento postup je velmi jednoduchý a umožňuje rychle získat vzorce datových krychlí, aniž byste je museli vytvářet od začátku. Klíčovým principem je nahrazení všech buněk v kontingenční tabulce vzorci, které jsou propojeny s databází OLAP. Na Obr. 13 ukazuje kontingenční tabulku spojenou s OLAP databází.

    Umístěte kurzor kamkoli do kontingenční tabulky a klikněte na tlačítko OLAP nástroje kontextová karta pásu karet Analýza a vyberte příkaz Převést na vzorce(obr. 14).

    Pokud vaše kontingenční tabulka obsahuje pole filtru sestavy, dialogové okno zobrazené na Obr. 15. V tomto okně můžete určit, zda chcete převést rozevírací seznamy datových filtrů na vzorce. Pokud ano, rozevírací seznamy budou odstraněny a místo nich se zobrazí statické vzorce. Pokud plánujete v budoucnu používat rozevírací seznamy ke změně obsahu kontingenční tabulky, zrušte zaškrtnutí jednoho políčka v dialogovém okně. Pokud pracujete na kontingenční tabulce v režimu kompatibility, filtry dat budou převedeny na vzorce automaticky bez předchozího upozornění.

    Po několika sekundách se místo kontingenční tabulky zobrazí vzorce, které běží v datových krychlích a poskytují výstup v okně Excelu nezbytné informace. Upozorňujeme, že tím se odstraní dříve použité styly (obr. 16).

    Rýže. 16. Podívejte se na řádek vzorců: buňky obsahují vzorce datové krychle

    Vzhledem k tomu, že hodnoty, které si prohlížíte, již nejsou součástí objektu kontingenční tabulky, můžete přidávat sloupce, řádky a vypočítané členy, kombinovat je s jinými externími zdroji a upravovat sestavu vlastním tempem. různé způsoby, včetně přetahování vzorců.

    Přidání výpočtů do kontingenčních tabulek OLAP

    V předchozí verze Excel v kontingenčních tabulkách OLAP neumožňoval vlastní výpočty. To znamenalo, že nebylo možné přidat další úroveň analýzy do kontingenčních tabulek OLAP stejným způsobem, jakým mohou běžné kontingenční tabulky přidávat vypočítaná pole a členy (viz ; než budete pokračovat ve čtení, ujistěte se, že jste s tímto materiálem obeznámeni). ).

    Excel 2013 zavádí nové nástroje OLAP – vypočítané míry a vypočítané členy MDX. Již nejste omezeni na používání opatření a členů v krychli OLAP poskytnuté správcem databáze. dostáváte další funkce analýzy vytvořením vlastních výpočtů.

    Úvod do MDX. Při použití kontingenční tabulky s krychlí OLAP odešlete do databáze dotazy MDX (Multidimenzionální výrazy). MDX je dotazovací jazyk používaný k načítání dat z vícerozměrných zdrojů (jako jsou krychle OLAP). Při úpravě nebo aktualizaci kontingenční tabulky OLAP jsou do databáze OLAP předány odpovídající dotazy MDX. Výsledky dotazu se vrátí zpět do Excelu a zobrazí se v oblasti kontingenční tabulky. To umožňuje pracovat s daty OLAP bez místní kopie mezipaměti kontingenční tabulky.

    Vypočítané míry a prvky MDX jsou vytvořeny pomocí syntaxe jazyka MDX. S touto syntaxí umožňuje kontingenční tabulka interakci s backendem databáze OLAP. Příklady v této knize jsou založeny na základních konstrukcích MDX, které demonstrují nové Excel funkce 2013. Pokud potřebujete vytvořit komplexní vypočítané míry a prvky MDX, budete muset věnovat čas tomu, abyste se dozvěděli více o možnostech MDX.

    Vytvořte vypočítané míry. Vypočítaná míra je verze počítaného pole OLAP. Cílem je vytvořit nové datové pole založené na některých matematických operacích prováděných na stávajících polích OLAP. V příkladu znázorněném na Obr. 17 je použita kontingenční tabulka OLAP, která obsahuje seznam a množství produktů a také příjem z prodeje každého z nich. Musíme přidat nové měřítko, které vypočítá průměrnou cenu za položku.

    Analýza Práce s kontingenčními tabulkami. rozbalovací nabídka OLAP nástroje vybrat předmět (obr. 18).

    Rýže. 18. Vyberte položku nabídky Vypočítaná míra MDX

    Na obrazovce se objeví dialogové okno. Vytvořte vypočítanou míru(obr. 19).

    Udělej následující:

    2. Vyberte skupinu měr, která bude obsahovat novou vypočítanou míru. Pokud tak neučiníte, Excel automaticky umístí novou míru do první dostupné skupiny měr.

    3. V terénu MDX(MDX) zadejte kód, který definuje novou míru. Chcete-li urychlit proces zadávání, použijte seznam nalevo k výběru existujících opatření, která se mají použít ve výpočtech. Poklepáním na požadovanou míru ji přidejte do pole MDX. Vypočítat průměrná cena jednotkový prodej, je použit následující výraz MDX:

    4. Klepněte na tlačítko OK.

    Věnujte pozornost tlačítku Zkontrolujte MDX, který se nachází v pravé dolní části okna. Klepnutím na toto tlačítko ověříte správnost syntaxe MDX. Pokud syntaxe obsahuje chyby, zobrazí se příslušná zpráva.

    Po dokončení vytváření nové vypočítané míry přejděte do seznamu Pole kontingenční tabulky a vyberte jej (obr. 20).

    Rozsah vypočítané míry je omezen na aktuální sešit. Jinými slovy, vypočítané míry se nevytvářejí přímo v krychli OLAP serveru. To znamená, že nikdo nebude mít přístup k vypočítané míře, pokud ji nesdílíte pracovní sešit nebo jej nezveřejňovat na internetu.

    Vytvořte vypočítané členy MDX. Vypočítaný člen MDX je verze OLAP normálního vypočítaného člena. Cílem je vytvořit nový datový prvek založený na některých matematických operacích prováděných na stávajících prvcích OLAP. V příkladu znázorněném na Obr. 22 používá kontingenční tabulku OLAP, která obsahuje údaje o prodejích za roky 2005-2008 (čtvrtletně rozčleněné). Předpokládejme, že chcete vytvořit agregaci dat za první a druhé čtvrtletí nový prvek První polovina roku (první polovina roku). Spojíme také data týkající se třetího a čtvrtého čtvrtletí a vytvoříme nový prvek Druhá polovina roku (Druhá polovina roku).

    Rýže. 22. Chystáme se přidat nové členy vypočítané MDX, první pololetí a druhou polovinu roku

    Umístěte kurzor kamkoli do kontingenční tabulky a vyberte kontextovou kartu Analýza ze sady kontextových karet Práce s kontingenčními tabulkami. rozbalovací nabídka OLAP nástroje vybrat předmět Vypočítaný člen MDX(obr. 23).

    Na obrazovce se objeví dialogové okno. (obr. 24).

    Rýže. 24. Okno Vytvořte vypočítaný člen

    Udělej následující:

    1. Pojmenujte vypočítanou míru.

    2. Vyberte nadřazenou hierarchii, pro kterou se vytvářejí nové vypočítané členy. Na staveništi nadřazený prvek přiřadit hodnotu Všechno. S tímto nastavením má Excel při vyhodnocování výrazu přístup ke všem členům nadřazené hierarchie.

    3. V okně MDX zadejte syntaxi MDX. Chcete-li ušetřit čas, použijte seznam zobrazený vlevo k výběru stávajících členů, které chcete použít v MDX. Dvakrát klikněte na vybranou položku a Excel ji přidá do okna MDX. V příkladu znázorněném na Obr. 24 se součet prvního a druhého čtvrtletí vypočítá:

    ..&& +

    .. && +

    .. && + …

    4. Klepněte na tlačítko OK. Excel zobrazí nově vytvořený vypočítaný člen MDX v kontingenční tabulce. Jak je znázorněno na Obr. 25 se nová vypočítaná položka zobrazí spolu s ostatními vypočítanými položkami kontingenční tabulky.

    Na Obr. 26 ilustruje podobný proces, který se používá k vytvoření vypočteného členu druhé poloviny roku.

    Všimněte si, že Excel se ani nepokouší odstranit původní prvky MDX (obrázek 27). Kontingenční tabulka nadále zobrazuje záznamy za roky 2005–2008, rozdělené čtvrtletně. V tomto případě to není problém, ale ve většině scénářů byste měli "nadbytečné" prvky skrýt, abyste předešli konfliktům.

    Rýže. 27. Excel zobrazí vygenerovaný vypočtený člen MDX spolu s původními členy. Ale pořád je lepší původní prvky odstranit, aby se předešlo konfliktům.

    Pamatujte: vypočítané členy jsou pouze v aktuálním sešitu. Jinými slovy, vypočítané míry se nevytvářejí přímo v krychli OLAP serveru. To znamená, že nikdo nemá přístup k vypočítanému rozměru nebo vypočítanému členu, pokud sešit nesdílíte nebo jej nepublikujete online.

    Všimněte si, že pokud se změní nadřazená hierarchie nebo nadřazený prvek v krychli OLAP, vypočítaný prvek MDX již nebude fungovat. Tento prvek budete muset znovu vytvořit.

    Správa výpočetní techniky OLAP. Excel poskytuje rozhraní, které umožňuje spravovat vypočítané míry a prvky MDX v kontingenčních tabulkách OLAP. Umístěte kurzor kamkoli do kontingenční tabulky a vyberte kontextovou kartu Analýza ze sady kontextových karet Práce s kontingenčními tabulkami. rozbalovací nabídka OLAP nástroje vybrat předmět Správa výpočetní techniky. V okně Správa výpočetní techniky k dispozici jsou tři tlačítka (obr. 28):

    • Vytvořit. Vytvořte novou vypočítanou míru nebo vypočítaný člen MDX.
    • Změna. Změňte vybraný výpočet.
    • Vymazat. Smazat vybraný výpočet.

    Rýže. 28. Dialogové okno Správa výpočetní techniky

    Proveďte analýzu typu what-if na datech OLAP. V Excelu 2013 můžete provádět analýzu typu what-if na datech, která jsou v OLAP kontingenčních tabulkách. S touto novou funkcí můžete měnit hodnoty v kontingenční tabulce a přepočítávat míry a členy na základě vašich změn. Změny můžete také přenést zpět do krychle OLAP. Chcete-li využít analýzu typu what-if, vytvořte kontingenční tabulku OLAP a vyberte kontextovou kartu Analýza Práce s kontingenčními tabulkami. rozbalovací nabídka OLAP nástroje vybrat tým Co když analýza –> Povolit analýzu typu what-if(obr. 29).

    Od této chvíle můžete měnit hodnoty kontingenční tabulky. Chcete-li změnit vybranou hodnotu v kontingenční tabulce, klikněte na ni pravým tlačítkem a vyberte kontextová nabídka vybrat předmět (obr. 30). Excel znovu spustí všechny výpočty v kontingenční tabulce na základě vašich úprav, včetně vypočítaných mír a vypočítaných členů MDX.

    Rýže. 30. Vyberte položku Vezměte v úvahu změnu při výpočtu kontingenční tabulky provést změny v kontingenční tabulce

    Ve výchozím nastavení jsou úpravy provedené v kontingenční tabulce v režimu analýzy typu what-if místní. Pokud chcete rozšířit změny na server OLAP, vyberte příkaz k publikování změn. Vyberte kontextovou kartu Analýza, který se nachází v sadě kontextových karet Práce s kontingenčními tabulkami. rozbalovací nabídka OLAP nástroje vyberte položky Co když analýza – > Zveřejnit změny(obr. 31). Tento příkaz povolí "zpětný zápis" na serveru OLAP, což znamená, že změny mohou být přeneseny do původní krychle OLAP. (Abyste mohli šířit změny na server OLAP, musíte mít příslušná oprávnění pro přístup k serveru. Kontaktujte svého správce dat, aby vám pomohl získat oprávnění pro zápis do databáze OLAP.)

    Poznámka je napsána na základě knihy Jelen, Alexander. . Kapitola 9

    V rámci této práce budou zváženy následující otázky:

    • Co jsou OLAP kostky?
    • Co jsou míry, dimenze, hierarchie?
    • Jaké druhy operací lze provádět na OLAP kostkách?
    Koncept krychle OLAP

    Hlavním postulátem OLAP je multidimenzionálnost v prezentaci dat. V terminologii OLAP se pojem krychle nebo hyperkrychle používá k popisu vícerozměrného diskrétního datového prostoru.

    Krychle je vícerozměrná datová struktura, ze které může uživatel-analytik vyhledávat informace. Kostky jsou vytvořeny z faktů a rozměrů.

    Data- jedná se o údaje o objektech a událostech ve společnosti, které budou předmětem analýzy. Fakta stejného typu tvoří míry. Míra je typ hodnoty v buňce krychle.

    Měření jsou datové prvky, na kterých se provádí analýza faktů. Soubor takových prvků tvoří atribut dimenze (například dny v týdnu mohou tvořit atribut dimenze „čas“). V úlohách obchodní analýzy komerčních podniků často jako měření fungují kategorie jako „čas“, „prodej“, „produkty“, „zákazníci“, „zaměstnanci“, „geografická poloha“. Dimenze jsou nejčastěji hierarchické struktury, které jsou logickými kategoriemi, podle kterých může uživatel analyzovat aktuální data. Každá hierarchie může mít jednu nebo více úrovní. Hierarchie dimenze „geografická poloha“ tedy může zahrnovat úrovně: „země – region – město“. V hierarchii času lze například rozlišit následující posloupnost úrovní: Dimenze může mít několik hierarchií (v tomto případě musí mít každá hierarchie jedné dimenze stejný klíčový atribut tabulky dimenzí).

    Krychle může obsahovat skutečná data z jedné nebo více tabulek faktů a nejčastěji obsahuje více dimenzí. Každá konkrétní krychle má obvykle určitý směrový předmět analýzy.

    Obrázek 1 ukazuje příklad krychle navržené pro analýzu prodeje ropných produktů určitou společností podle regionu. Tato krychle má tři dimenze (čas, produkt a region) a jednu míru (hodnota prodeje vyjádřená v penězích). Naměřené hodnoty jsou uloženy v odpovídajících buňkách (buňce) krychle. Každá buňka je jednoznačně identifikována sadou členů z každé dimenze, které se říká n-tice. Například buňka umístěná v levém dolním rohu krychle (obsahuje hodnotu $98399) je dána n-ticí [červenec 2005, Dálný východ, Diesel]. Zde hodnota 98 ​​399 USD ukazuje objem prodeje (v peněžním vyjádření) nafty na Dálném východě v červenci 2005.

    Všimněte si také, že některé buňky neobsahují žádné hodnoty: tyto buňky jsou prázdné, protože tabulka faktů pro ně neobsahuje data.

    Rýže. 1. Kostka s informacemi o prodeji ropných produktů v různých regionech

    Konečným cílem vytváření takových krychlí je minimalizovat dobu zpracování dotazů, které extrahují požadované informace ze skutečných dat. K provedení tohoto úkolu krychle obvykle obsahují předem vypočítaná souhrnná data, tzv agregací(agregace). Tito. krychle pokrývá datový prostor větší, než je skutečný - jsou v něm logické, vypočítané body. Agregační funkce umožňují vypočítat bodové hodnoty v logickém prostoru na základě skutečných hodnot. Nejjednodušší agregační funkce jsou SUM, MAX, MIN, COUNT. Takže například pomocí funkce MAX pro kostku uvedenou v příkladu můžete identifikovat, kdy na Dálném východě došlo k vrcholu prodeje nafty atd.

    Dalším specifikem vícerozměrných krychlí je obtížnost určení počátečního bodu. Jak například nastavíte bod 0 pro dimenzi Produkt nebo Regiony? Řešením tohoto problému je zavedení speciálního atributu, který kombinuje všechny prvky dimenze. Tento atribut (generovaný automaticky) obsahuje pouze jeden prvek - All ("All"). Pro jednoduché agregační funkce, jako jsou součty, je prvek All ekvivalentní součtu hodnot všech prvků ve skutečném prostoru dané dimenze.

    Důležitým pojmem v multidimenzionálním datovém modelu je podprostor neboli podkrychle. Podkrychle je část celkového prostoru krychle ve formě nějaké vícerozměrné postavy uvnitř krychle. Jelikož je vícerozměrný prostor krychle diskrétní a ohraničený, je i podkrychle diskrétní a ohraničená.

    Operace na OLAP kostkách

    Na krychli OLAP lze provádět následující operace:

    • plátek;
    • otáčení;
    • konsolidace;
    • detail.
    plátek(Obrázek 2) je speciální případ podkrychle. Toto je postup pro vytvoření podmnožiny vícerozměrného datového pole odpovídající jedné hodnotě jednoho nebo více prvků dimenze, které nejsou zahrnuty v této podmnožině. Chcete-li například zjistit, jak se v průběhu času vyvíjely prodeje ropných produktů pouze v určité oblasti, konkrétně na Uralu, musíte opravit dimenzi „Zboží“ na prvku „Ural“ a extrahovat odpovídající podmnožinu (podkrychli) z krychle.
  • Rýže. 2. OLAP kostkový řez

    Otáčení(Obrázek 3) - operace změny umístění měření prezentovaných ve zprávě nebo na zobrazené stránce. Operace rotace může například zahrnovat záměnu řádků a sloupců tabulky. Navíc otáčení datové krychle přesouvá netabulkové dimenze do umístění dimenzí přítomných na zobrazené stránce a naopak.

    Co je OLAP dnes obecně, ví každý specialista. Alespoň pojmy „OLAP“ a „multidimenzionální data“ jsou v našich myslích pevně propojeny. Nicméně skutečnost, že toto téma je znovu nastoleno, doufám, bude schváleno většinou čtenářů, protože aby myšlenka, že časem nezůstane zastaralá, musíte pravidelně komunikovat s chytří lidé nebo si přečtěte články v dobré publikaci...

    Datové sklady (místo OLAP v informační struktura podniky)

    Pojem „OLAP“ je nerozlučně spojen s pojmem „datový sklad“ (Data Warehouse).

    Zde je definice formulovaná „otcem zakladatelem“ datových skladů Billem Inmonem: „Datový sklad je doménově specifická, časově vázaná a neměnná sbírka dat na podporu procesu přijímání manažerských rozhodnutí.“

    Data v úložišti pocházejí z operační systémy(OLTP-systémy), které jsou určeny k automatizaci obchodních procesů. Úložiště lze navíc doplnit o externí zdroje jako jsou statistické zprávy.

    Proč budovat datové sklady – vždyť obsahují zjevně nadbytečné informace, které již „žijí“ v databázích či souborech operačních systémů? Odpověď může být krátká: přímo analyzovat data operačních systémů je nemožné nebo velmi obtížné. Je to způsobeno různými důvody, včetně fragmentace dat, jejich ukládání ve formátech různých DBMS a v různých „rohoch“ podnikové sítě. Ale i když jsou všechna data v podniku uložena na centrálním databázovém serveru (což je extrémně vzácné), analytik téměř jistě nepochopí jejich složité, někdy matoucí struktury. Autor má poněkud smutnou zkušenost se snahou "krmit" hladové analytiky "surovými" daty z operačních systémů - ukázalo se, že je to pro ně příliš tvrdé.

    Úkolem úložiště je tedy poskytovat „suroviny“ k analýze na jednom místě a v jednoduché, srozumitelné struktuře. Ralph Kimball v předmluvě ke své knize „The Data Warehouse Toolkit“ píše, že pokud čtenář po přečtení celé knihy pochopí pouze jednu věc, totiž že struktura skladu by měla být jednoduchá, autor svůj úkol zváží dokončeno.

    Existuje ještě jeden důvod, který ospravedlňuje vzhled samostatného úložiště - složité analytické dotazy na provozní informace zpomalují současnou práci společnosti, blokují tabulky na dlouhou dobu a zabírají zdroje serveru.

    Podle mého názoru není úložiště nutně obrovské nahromadění dat - hlavní věc je, že je vhodné pro analýzu. Obecně lze říci, že pro malá úložiště je určen samostatný termín - Data Marts (datové kiosky), ale v naší ruské praxi jej často neuslyšíte.

    OLAP- šikovný nástroj analýza

    Centralizace a pohodlné strukturování nejsou zdaleka vše, co analytik potřebuje. Koneckonců stále potřebuje nástroj na prohlížení, vizualizaci informací. Tradiční sestavy, dokonce postavené na základě jediného úložiště, postrádají jednu věc – flexibilitu. Nelze je „zkroutit“, „rozbalit“ nebo „sbalit“, abyste získali požadovaný pohled na data. Samozřejmě můžete zavolat programátorovi (pokud chce přijít), a on (pokud není zaneprázdněn) udělá nový report celkem rychle - řekněme do hodiny (píšu a sám tomu nevěřím - v životě to nejde tak rychle; dejme mu tři hodiny) . Ukazuje se, že analytik nemůže zkontrolovat více než dva nápady za den. A on (pokud je dobrý analytik) dokáže přijít s několika nápady za hodinu. A čím více „slices“ a „slices“ dat analytik vidí, tím více má nápadů, které zase vyžadují stále více nových „slices“ pro ověření. Kéž by měl takový nástroj, který by mu umožnil jednoduše a pohodlně rozbalovat a sbalovat data! Jedním z takových nástrojů je OLAP.

    Ačkoli OLAP není nezbytným atributem datového skladu, stále více se používá k analýze informací nashromážděných v tomto datovém skladu.

    Součásti obsažené v typickém úložném prostoru jsou znázorněny na Obr. 1.

    Rýže. 1. Struktura datového skladu

    Provozní data se shromažďují z různých zdrojů, čistí, integrují a vkládají do relačního úložiště. Zároveň jsou již dostupné pro analýzu pomocí různých reportovacích nástrojů. Poté jsou data (celá nebo jejich část) připravena pro analýzu OLAP. Mohou být načteny do speciální databáze OLAP nebo ponechány v relačním úložišti. Jeho nejdůležitějším prvkem jsou metadata, tedy informace o struktuře, umístění a transformaci dat. Díky nim je zajištěna efektivní souhra různých komponent úložiště.

    Shrneme-li to, můžeme OLAP definovat jako sadu nástrojů pro vícerozměrnou analýzu dat nashromážděných ve skladu. Teoreticky lze nástroje OLAP aplikovat přímo na provozní data nebo jejich přesné kopie (aby nezasahovaly do provozních uživatelů). Tím se ale vystavujeme riziku, že šlápneme na již výše popsaný rake, tedy začneme analyzovat provozní data, která nejsou přímo vhodná pro analýzu.

    Definice a základní pojmy OLAP

    Pro začátek si dešifrujeme: OLAP je online analytické zpracování, tedy online analýza dat. 12 definujících principů OLAP formuloval v roce 1993 E. F. Codd, „vynálezce“ relačních databází. Později byla jeho definice přepracována na tzv. FASMI test, který vyžaduje aplikaci OLAP, aby poskytovala schopnost rychle analyzovat sdílené vícerozměrné informace ().

    FASMI test

    Rychle(Rychle) – analýza by měla být provedena stejně rychle ve všech aspektech informací. Přijatelná doba odezvy je 5 sekund nebo méně.

    Analýza(Analýza) - Mělo by být možné provádět základní typy numerické a statistické analýzy, předdefinované vývojářem aplikace nebo libovolně definované uživatelem.

    sdílené(Shared) – K datům musí mít přístup více uživatelů, přičemž přístup k citlivým informacím musí být řízen.

    Multidimenzionální(Multidimenzionální) je hlavní, nejpodstatnější charakteristika OLAP.

    informace(Informace) – aplikace musí mít přístup ke všem potřebným informacím bez ohledu na jejich objem a umístění.

    OLAP = Multidimenzionální pohled = Kostka

    OLAP poskytuje pohodlné, vysokorychlostní prostředky pro přístup, prohlížení a analýzu obchodních informací. Uživatel získá přirozený, intuitivní datový model, který je organizuje ve formě vícerozměrných krychlí (Cubes). Osy vícerozměrného souřadnicového systému jsou hlavními atributy analyzovaného podnikového procesu. Například u prodeje to může být produkt, region, typ kupujícího. Jako jedno z měření se používá čas. Na průsečících os – měření (Dimensions) – jsou data, která kvantitativně charakterizují proces – míry (Measures). Mohou to být objemy prodeje v kusech nebo v peněžním vyjádření, stavy zásob, náklady atd. Uživatel analyzující informace může kostku "rozřezat" v různých směrech, získat souhrn (například podle let) nebo naopak podrobný (týdně) informace a provádět další manipulace, které ho v procesu analýzy napadnou.

    Jak se měří v trojrozměrné krychli znázorněné na Obr. 2 se používají prodejní částky a jako měření čas, produkt a sklad. Měření jsou prezentována na konkrétních úrovních seskupení: produkty jsou seskupeny podle kategorií, obchody jsou seskupeny podle země a doby transakcí jsou seskupeny podle měsíců. O něco později se budeme podrobněji zabývat úrovněmi seskupování (hierarchie).


    Rýže. 2. Příklad krychle

    "řezání" kostky

    Dokonce i trojrozměrná krychle je obtížné zobrazit na obrazovce počítače, takže lze vidět hodnoty požadovaných mír. Co můžeme říci o kostkách s více než třemi rozměry? Pro vizualizaci dat uložených v krychli se zpravidla používají obvyklé dvourozměrné, tedy tabulkové pohledy, které mají složitá hierarchická záhlaví řádků a sloupců.

    Dvourozměrnou reprezentaci krychle lze získat „rozříznutím“ přes jednu nebo více os (rozměrů): zafixujeme hodnoty všech rozměrů kromě dvou a získáme pravidelnou dvourozměrnou tabulku . Vodorovná osa tabulky (záhlaví sloupců) představuje jeden rozměr, svislá osa (záhlaví řádků) jiný rozměr a buňky tabulky představují hodnoty měření. V tomto případě je množina měr ve skutečnosti považována za jednu z dimenzí - buď vybereme jednu míru pro zobrazení (a pak můžeme umístit dvě kóty do záhlaví řádků a sloupců), nebo zobrazíme více měr (a poté jednu os tabulky budou obsazeny názvy opatření a další - hodnota jednoho "neoříznutého" rozměru).

    Podívejte se na obr. 3 - zde je dvourozměrný výřez krychle pro jednu míru - Unit Sales (prodané kusy) a dva "nerozřezané" rozměry - Store (Store) a Time (Time).


    Rýže. 3. Dvourozměrný krychlový řez pro jeden takt

    Na Obr. 4 zobrazuje pouze jednu „neoříznutou“ dimenzi – Store, ale zobrazuje hodnoty několika měření – Unit Sales (prodané kusy), Store Sales (množství prodeje) a Store Cost (výdaje na prodejnu).


    Rýže. 4. 2D krájení kostek pro více opatření

    Dvourozměrná reprezentace krychle je také možná, když více než dva rozměry zůstanou „neoříznuté“. V tomto případě budou na osy řezů (řádky a sloupce) umístěny dva nebo více rozměrů "nařezané" krychle - viz obr. 5.


    Rýže. 5. Dvourozměrný řez krychle s několika rozměry na stejné ose

    Tagy

    Hodnoty „odložené“ podél dimenzí se nazývají členy nebo štítky (členy). Popisky se používají jak pro "ořezání" krychle, tak pro omezení (filtrování) vybraných dat - kdy nás v dimenzi, která zůstane "neoříznutá" nezajímají všechny hodnoty, ale jejich podmnožinu, např. tři města z více tucet. Hodnoty štítků se zobrazují v zobrazení 2D krychle jako záhlaví řádků a sloupců.

    Hierarchie a úrovně

    Štítky lze kombinovat do hierarchií skládajících se z jedné nebo více úrovní. Například štítky dimenze "Store" (Store) jsou přirozeně spojeny do hierarchie s úrovněmi:

    Země (země)

    stát (stát)

    město (město)

    Obchod (Obchod).

    Podle úrovní hierarchie se počítají agregované hodnoty, jako jsou prodeje pro USA (úroveň „země“) nebo pro Kalifornii (úroveň „stát“). V jedné dimenzi lze implementovat více než jednu hierarchii – řekněme pro čas: (Rok, čtvrtletí, měsíc, den) a (rok, týden, den).

    Architektura aplikací OLAP

    Vše, co bylo řečeno výše o OLAP, se ve skutečnosti týkalo vícerozměrné prezentace dat. Zhruba řečeno, koncový uživatel ani vývojáři nástroje, který klient používá, se nestarají o to, jak jsou data ukládána.

    Multidimenzionalitu v aplikacích OLAP lze rozdělit do tří úrovní:

    • Multidimenzionální reprezentace dat – nástroje pro koncové uživatele, které poskytují vícerozměrnou vizualizaci a manipulaci s daty; vrstva vícerozměrné reprezentace abstrahuje od fyzické struktury dat a zachází s daty jako s vícerozměrnými.
    • Vícerozměrné zpracování - nástroj (jazyk) pro formulování vícerozměrných dotazů (tradiční relační jazyk SQL je zde nevhodný) a procesor, který takový dotaz dokáže zpracovat a provést.
    • Multidimenzionální úložiště - prostředky fyzické organizace dat, které poskytují efektivní provádění vícerozměrných dotazů.

    První dvě úrovně jsou povinné ve všech nástrojích OLAP. Třetí úroveň, i když je široce používána, není vyžadována, protože data pro vícerozměrnou reprezentaci lze také získat z běžných relačních struktur; procesor vícerozměrných dotazů v tomto případě převádí vícerozměrné dotazy na dotazy SQL, které jsou prováděny relačním DBMS.

    Specifické produkty OLAP jsou obvykle buď multidimenzionální nástroj pro prezentaci dat, klient OLAP (například kontingenční tabulky v Excelu 2000 od Microsoftu nebo ProClarity od Knosys), nebo multidimenzionální back-end DBMS, OLAP server (například Oracle Express Server nebo Microsoft OLAP Services).

    Vrstva vícerozměrného zpracování je obvykle zabudována do klienta OLAP a/nebo serveru OLAP, ale lze ji izolovat ve své nejčistší podobě, jako je například komponenta služby kontingenční tabulky společnosti Microsoft.

    Technické aspekty vícerozměrné úložiště dat

    Jak bylo uvedeno výše, analytické nástroje OLAP mohou také extrahovat data přímo z relačních systémů. Tento přístup byl atraktivnější v době, kdy OLAP servery nebyly na cenících předních prodejců databází. Dnes však společnosti Oracle, Informix a Microsoft nabízejí plnohodnotné servery OLAP a dokonce i ti manažeři IT, kteří neradi staví do svých sítí „zoo“ softwaru různých výrobců, může zakoupit (přesněji požádat s odpovídající žádostí vedení společnosti) OLAP server stejné značky jako hlavní server databází.

    Servery OLAP nebo vícerozměrné databázové servery mohou ukládat svá vícerozměrná data různými způsoby. Před zvažováním těchto metod musíme mluvit o tak důležitém aspektu, jako je skladování kameniva. Faktem je, že v jakémkoli datovém skladu - v běžném i vícerozměrném - se spolu s podrobnými daty načítanými z operačních systémů ukládají i souhrnné ukazatele (agregované ukazatele, agregáty), jako jsou součty objemů prodejů po měsících, kategoriích. zboží atd. Agregáty jsou ukládány výslovně pouze za účelem urychlení provádění dotazu. Koneckonců, na jedné straně se v úložišti zpravidla shromažďuje velmi velké množství dat a na druhé straně se analytici ve většině případů nezajímají o podrobné, ale o zobecněné ukazatele. A pokud by se pro výpočet výše tržeb za rok musely pokaždé sečíst miliony jednotlivých prodejů, rychlost by byla s největší pravděpodobností nepřijatelná. Při načítání dat do multidimenzionální databáze jsou tedy všechny celkové ukazatele nebo jejich část vypočteny a uloženy.

    Ale jak víte, za všechno se musí platit. A za rychlost zpracování dotazů na souhrnná data musíte zaplatit zvýšením objemu dat a času potřebného k jejich načtení. Nárůst objemu se navíc může stát doslova katastrofální - v jednom z publikovaných standardních testů si kompletní počet agregací pro 10 MB počátečních dat vyžádal 2,4 GB, tedy data narostla 240krát! Míra "nabobtnání" dat při výpočtu agregátů závisí na počtu rozměrů krychle a struktuře těchto rozměrů, tedy poměru počtu "otců" a "dětí" na různých úrovních dimenze. K vyřešení problému skladování kameniva se někdy používají složitá schémata, které umožňují při výpočtu daleko od všech možných agregátů dosáhnout výrazného zvýšení výkonu provádění dotazu.

    Nyní o různých možnostech ukládání informací. Jak podrobná data, tak agregace mohou být uloženy v relačních nebo vícerozměrných strukturách. Vícerozměrné úložiště vám umožňuje zacházet s daty jako s vícerozměrným polem, které poskytuje stejně rychlý výpočet součtů a různé vícerozměrné transformace na kterékoli z dimenzí. Před časem produkty OLAP podporovaly relační nebo vícerozměrné úložiště. Dnes zpravidla stejný produkt poskytuje oba tyto typy skladování a také třetí typ - smíšený. Platí následující podmínky:

    • MOLAP(Multidimenzionální OLAP) – jak podrobná data, tak agregace jsou uloženy ve vícerozměrné databázi. V tomto případě se získá největší redundance, protože vícerozměrná data zcela obsahují relační data.
    • ROLAP(Relační OLAP) - podrobná data zůstávají tam, kde původně "žila" - v relační databázi; agregáty jsou uloženy ve stejné databázi ve speciálně vytvořených tabulkách služeb.
    • HOLAP(Hybridní OLAP) – podrobná data zůstávají na místě (v relační databázi), zatímco agregáty jsou uloženy v multidimenzionální databázi.

    Každá z těchto metod má své výhody a nevýhody a měla by být používána v závislosti na podmínkách – množství dat, síla relačního DBMS atp.

    Při ukládání dat ve vícerozměrných strukturách vzniká potenciální problém „nafouknutí“ kvůli ukládání prázdných hodnot. Ostatně, pokud v vícerozměrné pole Pokud je místo vyhrazeno pro všechny možné kombinace měřících štítků a skutečně je zaplněna jen malá část (např. řada produktů se prodává pouze v malém počtu regionů), pak bude většina krychle prázdná, i když místo bude obsazeno. Moderní produkty OLAP si s tímto problémem dokážou poradit.

    Pokračování příště. V budoucnu budeme hovořit o konkrétních produktech OLAP vyráběných předními výrobci.