• OLAP-CUBE (dynamický management reporting). Vícerozměrné kostky, OLAP a MDX

    Jsem obyvatelem Habru už docela dlouho, ale nikdy jsem nečetl články na téma multidimenzionální kostky, OLAP a MDX, i když téma je velmi zajímavé a každým dnem čím dál aktuálnější.
    Není žádným tajemstvím, že za tu krátkou dobu vývoje databází, elektronické účetnictví A online systémy, samotných dat se hodně nashromáždilo. Nyní je zajímavá i plnohodnotná analýza archivů a možná i pokus o předpovědi situací pro podobné modely v budoucnu.
    Na druhou stranu velké společnosti dokážou i za pár let, měsíců či dokonce týdnů nashromáždit tak velké množství dat, že i jejich elementární analýza vyžaduje mimořádné přístupy a přísné hardwarové požadavky. Mohou to být systémy pro zpracování bankovních transakcí, burzovní agenti, telefonních operátorů atd.
    Myslím, že každý dobře zná 2 různé přístupy k návrhu databází: OLTP a OLAP. První přístup (Online Transaction Processing - zpracování transakcí v reálném čase) je navržen pro efektivní sběr dat v reálném čase, zatímco druhý (Online Analytical Processing - analytické zpracování v reálném čase) je zaměřen speciálně na vzorkování a zpracování dat tím nejefektivnějším způsobem.

    Podívejme se na hlavní vlastnosti moderních OLAP kostek a na to, jaké úlohy řeší (na základě Analysis Services 2005/2008):

    • rychlý přístup k datům
    • předagregace
    • hierarchie
    • práce s časem
    • multidimenzionální jazyk pro přístup k datům
    • KPI (Key Performance Indicators)
    • těžba datlí
    • víceúrovňové ukládání do mezipaměti
    • vícejazyčná podpora
    Pojďme se tedy na možnosti OLAP kostek podívat trochu podrobněji.

    Trochu více o možnostech

    Rychlý přístup k datům
    Rychlý přístup k datům bez ohledu na velikost pole je ve skutečnosti základem systémů OLAP. Protože toto je hlavní zaměření, je datový sklad obvykle postaven na principech odlišných od principů relačních databází.
    Zde se doba načtení jednoduchých dat měří ve zlomcích sekund a dotaz, který přesáhne několik sekund, bude pravděpodobně vyžadovat optimalizaci.

    předagregace
    Kromě rychlého vzorkování existujících dat poskytuje také možnost předem agregovat „nejpravděpodobněji používané“ hodnoty. Pokud máme například denní záznamy o tržbách pro určitý produkt, systém Možná také předem agregujeme měsíční a čtvrtletní částky prodeje, což znamená, že pokud požadujeme data na měsíční nebo čtvrtletní bázi, systém nám okamžitě poskytne výsledek. Proč k preagregaci nedochází vždy - protože teoreticky možné kombinace zboží/čas/atd. může jich být obrovské množství, což znamená, že musíte mít jasná pravidla, pro které prvky se bude agregace stavět a pro které ne. Obecně je téma zohledňování těchto pravidel a vlastního návrhu agregací poměrně rozsáhlé a samo o sobě si zaslouží samostatný článek.

    Hierarchie
    Je přirozené, že při analýze dat a sestavování závěrečných zpráv je třeba vzít v úvahu skutečnost, že měsíce se skládají ze dnů a samy o sobě tvoří čtvrtletí a města jsou zahrnuta do regionů, které jsou zase součástí regionů nebo zemí. Dobrou zprávou je, že kostky OLAP zpočátku zobrazují data z hlediska hierarchií a vztahů s jinými dimenzemi stejné entity, takže vytváření a používání hierarchie v kostkách je velmi snadné.

    Práce s časem
    Vzhledem k tomu, že analýza dat probíhá převážně v časových intervalech, jedná se o čas v OLAP systémy speciální hodnota je zvýrazněna, což znamená, že jednoduchým definováním pro systém, kde zde máme čas, můžete v budoucnu snadno používat funkce jako Year To Date, Month To Date (období od začátku roku / měsíce do aktuálního data), Paralelní období (ve stejný den nebo měsíc, ale v posledním roce) atd.

    Multidimenzionální jazyk pro přístup k datům
    MDX(Multidimenzionální výrazy) je dotazovací jazyk pro snadný a efektivní přístup k vícerozměrným datovým strukturám. A tím je řečeno vše – níže je několik příkladů.

    Klíčové ukazatele výkonu (KPI)
    klíčové indikátory výkonu je finanční a nefinanční systém hodnocení, který pomáhá organizaci určovat dosažení strategických cílů. Klíčové ukazatele výkonu lze snadno definovat v systémech OLAP a používat je v sestavách.

    Těžba datlí
    Dolování dat(Data Mining) – ve skutečnosti identifikace skrytých vzorců nebo vztahů mezi proměnnými ve velkých souborech dat.
    Anglický výraz „Data Mining“ nemá jednoznačný překlad do ruštiny (dolování dat, dolování dat, pronikání informací, získávání dat / informací), proto se ve většině případů používá v originále. Nejúspěšnějším nepřímým překladem je termín „dolování dat“ (DIA). To je však samostatné, neméně zajímavé téma k zamyšlení.

    Víceúrovňové ukládání do mezipaměti
    Vlastně zajistit co nejvíce vysoká rychlost přístup k datům, kromě složitých datových struktur a předagregací, systémy OLAP podporují víceúrovňové ukládání do mezipaměti. Kromě ukládání jednoduchých dotazů do mezipaměti se do mezipaměti ukládají také části dat načtených z úložiště, agregované hodnoty a vypočítané hodnoty. Čím déle tedy s OLAP kostkou pracujete, tím rychleji ve skutečnosti začne pracovat. Existuje také koncept "zahřívání mezipaměti" - operace, která připravuje systém OLAP na práci s konkrétními sestavami, dotazy nebo vše dohromady.

    Vícejazyčná podpora
    Ano ano ano. Minimálně Analysis Services 2005/2008 (ale Enterprise Edition) nativně podporují vícejazyčnost. Stačí zajistit překlad řetězcových parametrů vašich dat a klient, který určil svůj jazyk, obdrží lokalizovaná data.

    Vícerozměrné kostky

    Co tedy tyto vícerozměrné kostky vlastně jsou?
    Představme si 3-rozměrný prostor, který má na osách čas, zboží a kupující.
    Bod v takovém prostoru určí skutečnost, že některý z kupujících zakoupil konkrétní produkt v určitém měsíci.

    Ve skutečnosti bude rovina (nebo množina všech takových bodů) krychle, a podle toho budou jejími rozměry Čas, Zboží a Kupující.
    Je trochu obtížnější si představit (a nakreslit) čtyřrozměrnou nebo více krychli, ale podstata toho se nemění a hlavně je u OLAP systémů jedno, v kolika rozměrech budete pracovat (samozřejmě v rozumných mezích).

    Nějaký MDX

    V čem je tedy krása MDX - s největší pravděpodobností musíme popsat nikoli to, jak chceme data vybírat, ale Co přesně chceme.
    Například,
    VYBRAT
    ( . ) NA SLOUPCÍCH,
    ( ., . ) NA ŘADECH
    Z
    KDE (., .)

    Což znamená, že chci počet iPhonů prodaných v červnu a červenci v Mosambiku.
    Přitom popisuji který přesně ta data, která chci a Jak Chci je vidět v reportáži.
    Krásné, že?

    A tady je to trochu složitější:

    S ČLENEM Průměrná útrata AS
    . / .
    VYBRAT
    (Průměrná útrata) VE SLOUPCÍCH,
    ( .., .. ) NA ŘADECH
    Z
    KDE(.)

    * Tento zdrojový kód byl zvýrazněn pomocí Zvýrazňovače zdrojového kódu.

    Ve skutečnosti nejprve definujeme vzorec pro výpočet „průměrné velikosti nákupu“ a pokusíme se porovnat, kdo (jakého pohlaví) utratí více peněz za jednu návštěvu obchodu Apple.

    Jazyk sám o sobě je nesmírně zajímavý jak na učení, tak na používání a možná si zaslouží hodně diskuse.

    Závěr

    Ve skutečnosti tento článek pokrývá jen velmi málo základní pojmy, nazval bych to „chuťovkou“ – příležitostí zaujmout habrskou komunitu o toto téma a dále ho rozvíjet. Co se týče rozvoje, je tam obrovské pole neorané a rád zodpovím všechny vaše dotazy.

    P.S. Toto je můj první příspěvek o OLAP a první publikace o Habrém - budu velmi vděčný za konstruktivní zpětnou vazbu.
    Aktualizace: Převedeno na SQL, převedu na OLAP, jakmile mi umožní vytvářet nové blogy.

    Štítky: Přidat štítky

    Mechanismus OLAP je dnes jednou z nejpopulárnějších metod analýzy dat. Existují dva hlavní přístupy k řešení tohoto problému. První z nich se nazývá Multidimenzionální OLAP (MOLAP) - implementace mechanismu pomocí vícerozměrné databáze na straně serveru a druhý Relační OLAP (ROLAP) - stavění kostek za běhu na základě SQL dotazy Na relační DBMS. Každý z těchto přístupů má své pro a proti. Jejich srovnávací analýza přesahuje rámec tohoto článku. Popíšeme naši implementaci jádra desktopového modulu ROLAP.

    Takový úkol vznikl po použití systému ROLAP, postaveného na bázi komponent Decision Cube, které jsou součástí Borland Delphi. Bohužel použití této sady komponent ukázalo špatný výkon na velkém množství dat. Tento problém lze snížit tím, že se pokusíte odříznout co nejvíce dat před jejich odesláním do stavebních krychlí. Ne vždy to ale stačí.

    Na internetu a v tisku lze najít spoustu informací o systémech OLAP, ale téměř nikde se neříká, jak to uvnitř funguje. Řešení většiny problémů nám tedy bylo dáno metodou pokus-omyl.

    Schéma práce

    Obecné schéma desktopového OLAP systému lze znázornit takto:

    Algoritmus práce je následující:

    1. Získání dat ve formě ploché tabulky nebo výsledku SQL dotazu.
    2. Ukládání dat do mezipaměti a jejich převod na vícerozměrnou krychli.
    3. Zobrazení vytvořené krychle pomocí kontingenční tabulky nebo grafu atd. Obecně lze k jedné krychli připojit libovolný počet zobrazení.

    Zvažte, jak lze takový systém vnitřně zařídit. Začněme ze strany, kterou můžete vidět a cítit, tedy z mapování.

    Displeje používané v systémech OLAP jsou nejčastěji dvojího typu – křížové tabulky a grafy. Zvažte kontingenční tabulku, což je primární a nejběžnější způsob zobrazení krychle.

    křížový stůl

    Na obrázku níže jsou řádky a sloupce obsahující agregované výsledky zobrazeny žlutě, buňky obsahující fakta jsou označeny světle šedou barvou a buňky obsahující data dimenzí jsou označeny tmavě šedou barvou.

    Tabulku lze tedy rozdělit na následující prvky, se kterými budeme v budoucnu pracovat:

    Při vyplňování matice fakty musíme postupovat následovně:

    • Na základě naměřených dat určete souřadnice přidaného prvku v matici.
    • Určete souřadnice sloupců a řádků součtů ovlivněných přidávaným prvkem.
    • Přidejte prvek do matice a odpovídající sloupce a řádky součtů.

    Zároveň je třeba poznamenat, že výsledná matice bude velmi řídká, proč její uspořádání ve formě dvourozměrné pole(varianta ležící na povrchu) je nejen iracionální, ale s největší pravděpodobností nemožná kvůli velkému rozměru této matice, pro kterou žádné množství RAM nestačí uložit. Pokud například naše kostka obsahuje informace o prodeji za jeden rok a má pouze 3 dimenze – Zákazníci (250), Produkty (500) a Datum (365), získáme matici faktů o následujících dimenzích:

    Počet prvků = 250 x 500 x 365 = 45 625 000

    A to přesto, že v matici může být jen pár tisíc vyplněných prvků. Navíc, než více množství rozměry, tím řidší bude matrice.

    Proto, abyste mohli pracovat s touto maticí, musíte použít speciální mechanismy pro práci s řídkými maticemi. Jsou možné různé možnosti pro uspořádání řídké matice. Jsou poměrně dobře zdokumentovány v literatuře o programování, jako je první díl klasiky Donalda Knutha The Art of Programming.

    Uvažujme nyní, jak můžeme určit souřadnice skutečnosti, když známe rozměry, které tomu odpovídají. Chcete-li to provést, podívejme se blíže na strukturu záhlaví:

    V tomto případě můžete snadno najít způsob, jak určit čísla odpovídající buňky a součty, do kterých spadá. Zde lze navrhnout několik přístupů. Jedním z nich je použití stromu k nalezení odpovídajících buněk. Tento strom lze postavit průchodem přes vzorek. Navíc lze snadno definovat analytický rekurzivní vzorec pro výpočet požadované souřadnice.

    Příprava dat

    Data uložená v tabulce je třeba převést, aby mohla být použita. Takže, aby se zlepšil výkon při sestavování hyperkrychle, je žádoucí najít jedinečné prvky uložené ve sloupcích, které jsou rozměry krychle. Kromě toho můžete předem agregovat fakta pro záznamy, které mají stejné hodnoty rozměry. Jak již bylo zmíněno výše, je to pro nás důležité jedinečné hodnoty k dispozici v polích dimenze. Potom lze pro jejich uložení navrhnout následující strukturu:

    Použitím této struktury výrazně snižujeme potřebu paměti. Což je docela relevantní, protože. Pro zvýšení rychlosti práce je žádoucí ukládat data do paměti RAM. Kromě toho můžete uložit pouze pole prvků a nahrát jejich hodnoty na disk, protože je budeme potřebovat pouze při zobrazení kontingenční tabulky.

    Knihovna komponent CubeBase

    Výše popsané myšlenky byly základem pro vytvoření knihovny komponent CubeBase.

    TCubeSource provádí cachování a konverzi dat do interního formátu a také předběžnou agregaci dat. Komponent TСubeEngine provádí výpočet hyperkrychle a operace s ní. Ve skutečnosti je to stroj OLAP, který převádí plochou tabulku na vícerozměrnou datovou sadu. Komponent TCubeGrid provádí zobrazení kontingenční tabulky a ovládání zobrazení hyperkrychle. TСubeChart umožňuje zobrazit hyperkrychli ve formě grafů a komponentu TСubePivoteřídí činnost krychlového jádra.

    Porovnání výkonu

    Tato sada komponent vykazovala mnohem vyšší výkon než Decision Cube. Na sadě 45 tisíc záznamů tedy komponenty Decision Cube vyžadovaly 8 minut. k vytvoření kontingenční tabulky. CubeBase načetla data za 7 sekund. a sestavení kontingenční tabulky za 4 sekundy. Při testování na 700 tisíc záznamů Rozhodovací kostky jsme nečekali na odpověď do 30 minut, poté jsme úlohu zrušili. CubeBase načetla data za 45 sekund. a sestavení krychle za 15 sekund.

    Na objemech dat tisíců záznamů pracoval CubeBase desetkrát rychleji než Decision Cube. Na tabulkách se stovkami tisíc záznamů – stokrát rychleji. A vysoký výkon- jeden z nejvíce důležité ukazatele OLAP systémy.

    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 rychlá extrakce z nich všechny možné datové sady. 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 alespoň některých řešení OLAP v podnikové síti.

    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 Excel používat při 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 pomocí účtu Záznamy systému Windows potom nastavte spí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 pracovní databázi a OLAP kostka, který 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řipraven 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. 6 zobrazeno základní struktura typická OLAP kostka.

    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

    Při práci s kontingenčními tabulkami OLAP pamatujte, ž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í se vrátí zpět 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 dvojklik v poli VALUES je vráceno 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 Nástroje OLAP kontextová karta Analýza zahrnutá v sadě kontextových karet Práce s kontingenčními tabulkami. Vyberte si tým Offline mód OLAP(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. Není-li zaškrtávací políčko zaškrtnuto, zadaná položka nebude importována a bude zabírat místo 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 nějakém excelentní čas uloží offline datovou kostku do zadané složky. Chcete-li to otestovat, dvakrát klikněte na soubor, čímž se automaticky vygeneruje pracovní excelové knihy A, která obsahuje kontingenční tabulku přidruženou k vybrané datové krychli. 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. Vezměte prosím na vědomí, že ačkoli se offline datová kostka používá, když není přístup k síti, je bez chyby aktualizováno po obnovení síťového připojení. 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. Ve starších verzích Excelu jste získali přístup k funkcím datové krychle až po instalaci doplňku Analysis Pack. 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.

    Jedním z nejjednodušších způsobů, jak se naučit 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 Nástroje OLAP 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 a kombinovat je s ostatními. externí zdroje a také upravovat sestavu různými způsoby, včetně přetahování vzorců.

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

    V předchozích verzích Excelu nebyly v kontingenčních tabulkách OLAP povoleny vlastní výpočty. To znamenalo, že nebylo možné přidat další vrstvu 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 back-endem databáze OLAP. Příklady v této knize jsou založeny na základních konstrukcích MDX, které demonstrují nové funkce v Excelu 2013. Pokud potřebujete vytvořit složité vypočítané míry a prvky MDX, budete si muset udělat čas a dozvědět se o MDX více.

    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 Nástroje OLAP 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. K výpočtu průměrné jednotkové prodejní ceny produktu se používá 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 běžné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 Nástroje OLAP 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 Nástroje OLAP 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ě Změny. 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 Nástroje OLAP 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 Nástroje OLAP vyberte položky Co když analýza – > Zveřejnit změny(obr. 31). Tento příkaz se zapne " odepsat' na serveru OLAP, což znamená, že změny lze přenést 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 přístup k zápisu do databáze OLAP.)

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

    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 to 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ším prvkem používání OLAP jsou metadata, tedy informace o struktuře, umístění 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 (od produktů této třídy po ruský trh Produkty Stat Soft a SPSS jsou široce používány) a v některých tabulkových procesorech. Dobré nástroje pro vícerozměrnou analýzu má zejména Microsoft Excel 2000. Pomocí tohoto produktu můžete vytvořit a uložit malou lokální vícerozměrnou krychli OLAP jako soubor a zobrazit její dvourozměrné 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 malou škálou hodnot pro tyto parametry - výsledná agregovaná data se nakonec musí vejít do adresního prostoru takového nástroje a jejich počet roste exponenciálně s nárůstem počtu dimenzí. 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ž jsou veřejné informace vydávané ministerstvy zdravotnictví různých zemí a Světovou zdravotnickou organizací. 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 ukládání mezipaměti s agregovanými daty v souboru byla dále rozvinuta v nástrojích OLAP na straně serveru, ve kterých se provádí ukládání a úprava agregovaných dat a také údržba úložiště, které je obsahuje. samostatná aplikace nebo proces nazývaný server OLAP. Klientské aplikace mohou požadovat takové vícerozměrné úložiště a přijímat některá data jako odpověď. Nějaký klientské aplikace může také takové úložiště vytvářet nebo je aktualizovat v souladu se změněnými zdrojovými daty.

    Výhody použití serverových nástrojů OLAP ve srovnání s klientskými nástroji OLAP jsou podobné výhodám používání 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á aplikace přijímá pouze výsledky požadavků na ně, což obecně snižuje 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, SAS Institute. 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é provádějí takové dotazy. 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, množství růstu agregovaných dat závisí na počtu dimenzí v krychli a členech dimenzí na různých úrovních hierarchií 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(Rychlá analýza sdílených vícerozměrných informací) - rychlá analýza sdílené vícerozměrné informace, včetně následujících požadavků na aplikace pro vícerozměrnou 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) - možnost provádění jakékoli logické a statistické analýzy charakteristik tato aplikace a jeho uchování 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 k libovolnému nezbytné informace bez ohledu na jeho objem a místo uložení.

    Je třeba poznamenat, že funkcionalitu OLAP lze implementovat různými způsoby, od nejjednodušších nástrojů pro analýzu dat v kancelářských aplikacích až po distribuované analytické systémy založené 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 souhrnné (například podle let) nebo naopak podrobné (po týdnech) informace a provádět další manipulace, které ho během 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 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 sada měr ve skutečnosti považována za jednu z dimenzí: buď zvolíme zobrazení jedné míry (a pak můžeme umístit dvě kóty do záhlaví řádků a sloupců), nebo zobrazíme několik měr (a pak bude jedna z os tabulky obsazena názvy měr a druhá hodnotami jediné „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ě 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 typicky buď multidimenzionální nástroj pro prezentaci dat (klient OLAP – jako jsou kontingenční tabulky Microsoftu v Excelu 2000 nebo Knosys ProClarity) nebo multidimenzionální back-end DBMS (OLAP server – jako 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.