Google+ Followers

středa 5. listopadu 2014

FastCube - Analytický reporting

FastCube2 for VCL

Spolu s novou verzí vývojových nástrojů společnosti Embarcadero získávají vývojáři jako bonus také produkt FastCube. Jedná se sadu VCL komponent, která umožňuje vývojářům doplnit své aplikace o funkce základní datové analýzy.
Na rozdíl od klasických výstupních sestav, které jsou statické, umožňuje FastCube uživatelům analyzovat závislost zkoumané veličiny na nejrůznějších faktorech jako je místo, čas atd. FastCube poskytuje intuitivní rozhraní pro dynamickou konfiguraci sestavy, rozpad ("drill down") agregovaných dat, filtrování nebo použití jednoduchých kalkulací.

Datová kostka

FastCube umí pracovat jak s daty z databázového stroje, tak s daty uloženými v souboru. Pro složitější analýzy je vhodné si data "upravit".
Struktura dat používaná běžnými provozními systémy je totiž optimalizovaná především pro zabezpečení nekonfliktního zpracování vysokého počtu obchodních operací pro často velké množství současně pracujících uživatelů.
Datová kostka (Cube) je specifická datová struktura, která naopak za cenu redundance dat zjednodušuje a také urychluje analytické "dotazování". Můžeme si ji zjednodušeně představit jako tabulku, která obsahuje každou změnu sledované metriky (faktu) a hodnotu pro každý parametr (dimenzi). Dimenze mohou být dále členěny pro práci s agregovanými údaji (hierarchie).

Zakladní termíny

Výsledná datová kostka může vypadat následovně:

Schéma použité datové kostky

Demo aplikace

Na následujícím příkladu si ukážeme vytvoření jednoduchého formuláře pro analýzu dat za použití komponent FastCube. Na formulář umístíme následující komponenty:
fcxCube - udržuje v paměti datovou sadu reprezentující datovou kostku.
fcxCubeGrid - Datová mřížka pro zobrazení záznamů datové kostky.
fcxCubeGridToolbar - Nástrojová lišta pro práci s datovou kostkou. Bez jediného řádku kódu zpřístupňuje všechny základní funkce jako uložení dat do souboru, načtení dat, tvorbu řezů (Slicing), Filtrování apod. 
fcxSlice - Datová sada pro definovaný řez datovou kostkou. 
fcxSliceGrid - Specializovaná datová mřížka pro řezy. Kromě vlastního zobrazení umožňuje také vizuální návrh řezu nad definovanou datovou kostkou.
fcxSliceGridToolbar - Nástrojová lišta pro řezy datovou kostkou.
fcxDefaultSettings - Dialog pro uživatelská nastavení základních parametrů FastCube, jako je formátování dat nebo nastavení datových mřížek.
fcxDataSource - Komponenta pro nastavení datového zdroje.
fcxDBDataSet - Umožňuje namapovat datové sady definované pomocí standardních technologií pro připojení k databázím.

Návrhový formulář aplikace

Nyní aplikaci "oživíme" nastavením příslušných vlastností jednotlivých komponent. Základní propojení zachycuje následující schéma. V tomto konkrétním případě byla pro připojení k DB použita technologie FireDAC (žlutě označené). FastCube ale podporuje i DBExpress, IBExpress nebo DBGo. 
Zapojení použitých komponent

Práce s aplikací

Po zkompilování aplikace (nebyl použit jediný řádek kódu!) můžeme začít s "analýzou" dat. Na ukázku práce s rozhraním FastCube se můžete podívat zde:

 

Spolu s FastCube lze použít komponenty TeeChart pro ještě lepší vizualizaci dat.