Komponenty podporující rozhodování pomáhají vytvářet křížové
tabulky a grafy. Tyto tabulky a grafy můžeme použít k zobrazení a sumarizaci
dat v různých perspektivách. Více informací o datech křížových tabulek
nalezneme v O křížových tabulkách.
V této kapitole jsou uvedeny tyto sekce:
Úvod
Následující obrázek ukazuje všechny komponenty podporující
rozhodování umístěné na formulář při návrhu.
Komponenty podporující rozhodování jsou na stránce Decision
Cube Palety komponent:
-
Rozhodovací kostka, TDecisionCube, je vícerozměrné
úložiště dat. Více informací naleznete v Používání
rozhodovací kostky.
-
Rozhodovací zdroj, TDecisionSource, definuje současný
stav pivota Rozhodovací mřížky nebo Rozhodovacího grafu. Více informací
je v Používání rozhodovacích
zdrojů.
-
Rozhodovací dotaz, TDecisionQuery, je specializovaný
tvar TQuery použitý k definování dat v Rozhodovací kostce. Více
informaci je uvedeno v Používání
datových množin s komponentami podporujícími rozhodování.
-
Rozhodovací pivot, TDecisionPivot, umožňuje otevírat
nebo uzavírat rozměry Rozhodovací kostky, stiskem tlačítek. Další informace
viz. Používání rozhodovacího pivota.
-
Rozhodovací mřížka, TDecisionGrid, zobrazuje jedno
a více rozměrná data ve tvaru tabulky. Více informací je uvedeno ve Vytváření
a používání rozhodovacích mřížek.
-
Rozhodovací graf, TDecisionGraph, zobrazuje položky
z Rozhodovací mřížky jako dynamický graf, který se změní, když jsou modifikovány
rozměry dat. Více informací viz Vytváření
a používání rozhodovacích grafů.
O křížových tabulkách
Křížové tabulky jsou způsobem prezentace podmnožin dat tak,
aby vzájemné vztahy a trendy byly viditelnější. Položky tabulek tvoří rozměry
křížových tabulek, kde hodnoty položek definují kategorie a sumarizace
v rozměrech.
Můžeme použít komponenty podporující rozhodování k nastavení
křížových tabulek na formuláři. TDecisionGrid zobrazuje data v tabulce,
zatímco
TDecisionGraph je zobrazuje graficky. TDecisionPivot
má tlačítka usnadňující zobrazování a skrývání rozměrů a k jejich přesunu
mezi sloupci a řádky.
Křížové tabulky mohou být jednorozměrné nebo vícerozměrné.
V této sekci jsou uvedeny ještě tyto body:
Jednorozměrné křížové tabulky
Jednorozměrné křížové tabulky zobrazují součtový řádek (nebo
sloupec) pro kategorie jednoho rozměru. Např. pokud Payment určuje
sloupcový rozměr a Amount Paid je součtová kategorie, pak křížová
tabulka na následujícím obrázku ukazuje zaplacenou částku pro jednotlivé
způsoby placení.
Vícerozměrné křížové tabulky
Vícerozměrné křížové tabulky používají další rozměry pro
řádky a/nebo sloupce. Např. dvourozměrná křížová tabulka může zobrazovat
zaplacené částky různými metodami pro jednotlivé státy.
Třírozměrná tabulka může zobrazovat zaplacené částky
různými metodami a termíny podle států, jak je ukázáno na následujícím
obrázku.
Návod pro používání
komponent podporujících rozhodování
Komponenty podporující rozhodovaní jsou používány k prezentaci
vícerozměrných dat pomocí tabulek a grafů. Ke každé datové množině může
být připojeno více tabulek nebo grafů. K zobrazení dat z různých perspektiv
za běhu může být použito více instancí TDecisionPivot.
K vytvoření formuláře s tabulkami a grafy vícerozměrných
dat, provedeme tyto kroky:
-
Vytvoříme formulář.
-
Na formulář přidáme následující komponenty a použijeme Inspektor
objektů k tomuto jejich spojení:
-
Datovou množinu, obvykle TDecisionQuery (podrobnosti
jsou uvedeny ve Vytváření
rozhodovacích datových množin pomocí Editoru Decision Query) nebo TQuery.
-
Rozhodovací kostku, TDecisionCube, připojenou k datové
množině nastavením její vlastnosti DataSet na jméno datové množiny.
-
Rozhodovací zdroj, TDecisionSource, připojený k rozhodovací
kostce nastavením její vlastnosti DecisionCube na jméno rozhodovací
kostky.
-
Přidáme rozhodovací pivot, TDecisionPivot a připojíme
jej k rozhodovacímu zdroji v Inspektoru objektů nastavením jeho vlastnosti
DecisionSource
na příslušné jméno rozhodovacího zdroje. Rozhodovací pivot je nepovinný,
ale užitečný; umožňuje vývojáři a koncovému uživateli změnit zobrazené
rozměry v rozhodovací mřížce nebo v rozhodovacím grafu stiskem tlačítka.
Ve své implicitní orientaci, vodorovné, tlačítka na levé
straně rozhodovacího pivotu jsou aplikována na položky na levé straně rozhodovací
mřížky (řádky); tlačítka na pravé straně jsou aplikována na položky v horní
části rozhodovací mřížky (sloupce).
Můžeme určit kde tlačítka rozhodovacího pivotu se zobrazí
nastavením jeho vlastnosti GroupLayout na xtVertical, xtLeftTop
nebo
xtHorizontal (implicitně). Více informací o vlastnostech rozhodovacího
pivotu nalezneme v Používání rozhodovacího
pivotu.
-
Přidáme jednu nebo více rozhodovacích mřížek nebo grafů,
připojených na rozhodovací zdroj. Podrobnosti nalezneme ve Vytváření
a používání rozhodovacích mřížek a Vytváření
a používání rozhodovacích grafů.
-
Použijeme Editor Decision Query nebo vlastnost SQL TDecisionQuery
(nebo
TQuery)
pro specifikaci tabulek, položek a sumarizací k zobrazení v mřížce nebo
grafu. Poslední položka SQL SELECT musí být sumární položka. Ostatní položky
v SELECT musí být položky GROUP BY. Návod nalezneme ve Vytváření
rozhodovacích datových množin pomocí Editoru Decision Query.
-
Nastavíme vlastnost Active rozhodovacího dotazu (nebo
komponenty datové množiny) na true.
-
Použijeme rozhodovací mřížku nebo graf k zobrazení a znázornění
různých datových rozměrů. Viz Vytváření
a používání rozhodovacích mřížek a Vytváření
a používání rozhodovacích grafů.
Používání datových
množin s komponentami podporujícími rozhodování
Komponentu podporující rozhodování, kterou připojujeme přímo
k datové množině, je rozhodovací kostka, TDecisionCube. TDecisionCube
slouží k získávání dat se skupinami a sumarizacemi definovaných příkazem
SQL přijatelného formátu. Klauzule GROUP BY musí obsahovat stejné nesumarizované
položky (a ve stejném pořadí) jako klauzule SELECT a musí být identifikována
sumární položka.
Komponenta rozhodovacího dotazu, TDecosionQuery,
je specializovaná forma TQuery. Můžeme použít
TDecisionQuery
k zjednodušení nastavování rozměrů (řádků a sloupců) a sumárních hodnot
použitých k předání dat rozhodovací kostce, TDecisionCube. Rozhodovací
dotaz nemá vlastnosti, které nejsou zděděny od ostatních komponent datových
množin. Důležité zděděné vlastnosti jsou Active a SQL.
Můžeme také použít normální TQuery nebo ostatní
datové množiny (viz Použití
komponent TQuery nebo TTable) jako datovou množinu pro
TDecisionCube,
ale správné nastavení datové množiny a TDecisionCube je pak na zodpovědnosti
návrháře.
Pro správnou práci s rozhodovací kostkou, všechny položky
v datové množině musí být rozměry nebo sumarizace. Sumarizace musí být
sčitatelné hodnoty (jako součet nebo počet) a musí reprezentovat součty
pro každou kombinaci hodnot rozměrů. Pro maximální usnadnění nastavení,
součty je vhodné v datových množinách pojmenovávat Sum..., zatímco
počty pojmenováváme
Count....
Rozhodovací kostka se může natáčet a mít mezisoučty pouze
pro sumarizace, jejich buňky jsou sčitatelné. SUM a COUNT jsou sčitatelné,
zatímco AVG, MAX a MIN nejsou. Otáčivé křížové tabulky budujeme pouze pro
mřížky, které obsahují pouze sčitatelné agregátory. Když máme nesčitatelné
agregátory, pak použijeme statickou rozhodovací mřížku, která nemá pivot
a mezisoučty.
Vytváření
rozhodovacích datových množin pomocí TQuery nebo TTable
Pokud používáme normální komponentu TQuery jako rozhodovací
datovou množinu, pak musíme manuálně nastavit příkaz SQL a zajistit, že
GROUP BY obsahuje stejné položky (a ve stejném pořadí) jako klauzule SELECT.
Příkaz SQL musí vypadat nějak takto:
SELECT ORDERS."Terms", ORDERS."ShipVIA",
ORDERS."PaymentMethod", SUM( ORDERS."AmountPaid" )
FROM "ORDERS.DB" ORDERS
GROUP BY ORDERS."Terms", ORDERS."ShipVIA",
ORDERS."PaymentMethod"
Pořadí položek SELECT se musí shodovat s pořadím položek
GROUP BY.
S TTable, musíme předat informace rozhodovací
kostce o tom, které položky v dotazu jsou seskupovací položky a které jsou
sumarizační. Provedeme to ve vlastnosti DimensionMap rozhodovací
kostky. Musíme indikovat zda položka je rozměrová nebo sumární a je-li
sumární, pak je zapotřebí uvést její typ. Jelikož otočné agregáty závisí
na výpočtech SUM/COUNT, musíme také poskytnout základ jména položky k umožnění
rozhodovací kostce hledat páry agregátů SUM a COUNT.
Vytváření
rozhodovacích datových množin pomocí Editoru Decision Query
Všechna data používaná komponentami podporujícími rozhodování
jsou předány prostřednictvím Rozhodovací kostky, která akceptuje speciálně
formátovanou datovou množinu vytvořenou dotazem SQL.
I když TTable nebo TQuery může být použita
jako Rozhodovací datová množina, je mnohem snadnější použít TDecisionQuery;
Editor Rozhodovacího dotazu může být použit ke specifikaci tabulek, položek
a sumarizací v Rozhodovací mřížce a pomáhá k nastavování částí SELECT a
GROUP BY příkazu SQL.
Více informací o používání Editoru Rozhodovacího dotazu,
viz Používání Editoru Rozhodovacího
dotazu.
Používání Editoru Rozhodovacího
dotazu
K použití Editoru Rozhodovacího dotazu:
-
Vybereme komponentu Rozhodovacího dotazu na formuláři a v
jeho místní nabídce zvolíme Decision Query Editor. Je zobrazeno
dialogové okno Editoru.
-
Zvolíme používanou databázi.
-
Pro jedno tabulkový dotaz stiskneme tlačítko Select Table.
Pro složitější dotazy používající spojování tabulek, stiskneme tlačítko
Query
Builder k zobrazení Builderu SQL nebo zapíšeme SQL příkaz do editační
části na stránce SQL.
-
Vrátíme se do dialogového okna Editoru Rozhodovacího dotazu.
-
V seznamu Avialable Fields vybereme položky a přiřadíme
je k Dimension nebo k Summaries stiskem příslušného tlačítka
se šipkou. Po přidání položek k seznamu Summaries vybereme ze zobrazené
nabídky typ sumarizace: součet, počet nebo průměr.
-
Implicitně, všechny položky a sumarizace definované ve vlastnosti
SQL
Rozhodovacího dotazu jsou zobrazeny v seznamech Active Dimensions
a Active Summaries. K odstranění rozměru nebo sumarizace, vybereme
jej v seznamu a dvojitým kliknutím jej odstraníme. Pro jeho opětovné přidání,
jej vybereme v seznamu Available Fields a stiskneme příslušnou šipku.
Po definování obsahu Rozhodovací kostky, můžeme dále manipulovat
zobrazenými rozměry pomocí její vlastnosti DimensionMap a tlačítky
TDecisionPivot.
Poznámka: Když používáme Editor Rozhodovacího
dotazu, pak dotaz je vytvořen při použití syntaxe ANSI-92 SQL a pak přeložen
(pokud to je potřeba) do dialektu použitého serverem. Editor Rozhodovacího
dotazu čte a zobrazuje pouze ANSI standard SQL. Přeložený dialekt je automaticky
přiřazen vlastnosti SQL komponenty Rozhodovacího dotazu. K modifikaci
dotazu editujeme ANSI-92 verzi v Rozhodovacím dotazu místo vlastnosti SQL.
Používání Rozhodovacích kostek
Komponenta Rozhodovací kostky, TDecisionCube, je vícerozměrné
úložiště dat, které získává svá data z datové množiny (obvykle specifikací
strukturovaného příkazu SQL prostřednictvím TDecisionQuery nebo
TQuery).
Data jsou uložena ve tvaru, který umožňuje snadné otáčení kostky (tj. změnu
organizace dat a sumarizací) bez nutnosti opětovného spuštění dotazu.
V této sekci jsou uvedeny ještě body:
Vlastnosti a události
Rozhodovací kostky
Vlastnost DimensionMap komponenty TDecisionCube
nejen řídí které rozměry a sumarizace jsou zobrazeny, ale také umožňují
nastavit datové rozsahy a specifikovat maximální počet rozměrů, který Rozhodovací
kostka může podporovat. Můžeme také určit, zda chceme zobrazovat data v
průběhu návrhu. Můžeme zobrazovat jména, (kategorie) hodnoty, mezisoučty
nebo data. Zobrazování dat při návrhu může být v závislosti na datovém
zdroji časově náročné.
Když stiskneme tlačítko se třemi tečkami vlastnosti DimensionMap
v Inspektoru objektů, pak se zobrazí Editor Rozhodovací kostky. Můžeme
jej použít k nastavování vlastnosti DimensionMap.
Událost OnRefresh je generována při přebudovávání
Rozhodovací kostky. Vývojář může přistupovat k mapování nového rozměru
a změnit jej při uvolňování paměti, změnit maximum sumarizací nebo rozměrů,
apod. OnRefresh je také užitečný, pokud uživatel přistupuje k Editoru
Rozhodovací kostky; kód aplikace může reagovat na změny.
Používání Editoru Rozhodovací
kostky
K nastavování vlastnosti DimensionMap Rozhodovací
kostky můžeme používat Editor Rozhodovací kostky. Editor zobrazíme pomocí
Inspektoru objektů (jak je popsáno v předchozím bodě) nebo volbou DecisionCube
Editor
v místní nabídce Rozhodovací kostky.
Editor Rozhodovací kostky má dvě stránky:
Zobrazování a změna
nastavení rozměru
K zobrazení nastavení rozměrů, zobrazíme Editor Rozhodovací
kostky a přejdeme na jeho stránku Dimension Settings. Pak vybereme
rozměr nebo sumarizaci v seznamu Available Fields. Informace jsou
zobrazeny na pravé straně Editoru:
-
Ke změně jména rozměru nebo sumarizace, zobrazovaného v Rozhodovacím
pivotu, Rozhodovací mřížce nebo Rozhodovacím grafu, zadáme nové jméno do
editačního ovladače Display Name.
-
K zjištění, zda vybraná položka je rozměrem nebo sumarizací,
přečteme text v editačním ovladači Type. Pokud datová množina je
komponenta TTable, pak můžeme použít Type ke specifikaci
zda vybraná položka je rozměrem nebo sumarizací.
-
K zákazu nebo aktivaci rozměru nebo sumarizace, změníme nastavení
v rozbalovacím seznamu části Active Type: Active, As Needed
nebo
Inactive. Zákazem rozměru nebo nastavením na As Needed
šetříme paměť.
-
Ke změně formátu rozměru nebo sumarizace, zadáme formátovací
řetězec v editačním ovladači Format.
-
K zobrazení, zda rozměr nebo sumarizace je podle roku, čtvrtletí
nebo měsíce, změníme nastavení v rozbalovacím seznamu Binning. Povšimněte
si, že můžeme zvolit v rozbalovacím seznamu Binning hodnotu Set
k uvedení vybraného rozměru nebo sumarizace do trvalého stavu "neotočitelný".
To může být užitečné pro šetření pamětí, když rozměr má mnoho hodnot.
-
K určení počáteční hodnoty pro rozsah nebo hodnotu "neotáčení"
pro rozměr
Set, nejprve zvolíme příslušnou Seskupovací hodnotu v
rozbalovacím seznamu Grouping a pak zadáme počáteční hodnotu rozsahu
nebo hodnotu trvalého neotáčení v rozbalovacím seznamu Initial Value.
Nastavování maximálních
možných rozměrů a sumarizací
K určení maximálního počtu rozměrů a sumarizací dostupných
pro Rozhodovacího pivota, Rozhodovací mřížky a Rozhodovacího grafu, spojených
s vybranou Rozhodovací kostkou, zobrazíme Editor Rozhodovací kostky a přejdeme
na jeho stránku
Memory Control. Použijeme editační ovladače k zadání
současného nastavení, pokud to je zapotřebí. Tato nastavení pomáhají řídit
množství požadované paměti Rozhodovací kostkou.
Zobrazování a změna
návrhových voleb
K určení kolik informací bude zobrazováno při návrhu, zobrazíme
Editor Rozhodovací kostky a přejede na jeho stránku Memory Control.
Pak testujeme nastavení indikující která jména a data zobrazovat. Zobrazování
dat nebo jmen položek při návrhu může v některých případech zpomalovat
průběh návrhu.
Používání rozhodovacích zdrojů
Komponenta Rozhodovacího zdroje, TDecisionSource,
definuje současný stav natočení Rozhodovacích mřížek nebo Rozhodovacích
grafů. Libovolné dva objekty, které používají stejný Rozhodovací zdroj
také sdílejí stav natočení.
Následují některé speciální vlastnosti a události, které
řídí vzhled a chování Rozhodovacích zdrojů:
-
Vlastnost ControlType Rozhodovacího zdroje indikuje
zda tlačítka Rozhodovacího pivota pracují jako značky (vícenásobný výběr)
nebo jako voliče (vzájemně se vylučující výběr).
-
Vlastnosti SparseCols a SparseRows Rozhodovacího
zdroje indikují zda zobrazovat sloupce nebo řádky bez hodnot; Při true
prázdné řádky nebo sloupce jsou zobrazovány.
-
Rozhodovací zdroj má následující události:
-
OnLayoutChange nastane když uživatel provede otočení
nebo zruší otočení, které reorganizuje data.
-
OnNewDimensions nastává když data se kompletně změní,
např. když jsou změněny sumární nebo rozměrové položky.
-
OnSummaryChange nastává když je změněna současná sumární
položka.
-
OnStateChange nastává, když Rozhodovací kostka je
aktivována nebo deaktivována.
-
OnBeforePivot nastává, když změny jsou zapsány ale
ještě se neprojevily v uživatelském rozhraní. Vývojář má možnost provést
změny, např. v kapacitě nebo stavu pivotu, dříve než uživatel aplikace
uvidí výsledek jeho předchozí akce.
-
OnAfterPivot vzniká po změně stavu pivotu.
Používání Rozhodovacího pivota
Komponenta Rozhodovacího pivota, TDecisionPivot, umožňuje
otevírat nebo uzavírat rozměry nebo položky Rozhodovací kostky, stiskem
tlačítek. Když řádek nebo sloupec je otevřen stisknutím tlačítka TDecisionPivot,
pak odpovídající rozměr se zobrazí na komponentě TDecisionGrid nebo
TDecisionGraph.
Když rozměr je uzavřen, pak jeho detailní data se již nezobrazují, jsou
sbaleny do součtů ostatních rozměrů. Rozměr může být v "otočeném" stavu,
kdy se zobrazují pouze sumarizace pro jistou hodnotu položky rozměru.
Můžeme také použít Rozhodovacího pivota k reorganizaci
zobrazených rozměrů v Rozhodovací mřížce a Rozhodovacím grafu. Můžeme táhnout
tlačítko na oblast řádku nebo sloupce nebo změnit pořadí tlačítek ve stejné
oblasti.
Více informací o speciálních vlastnostech TDecisionPivot
nalezneme ve Vlastnosti Rozhodovacího
pivota.
Vlastnosti Rozhodovacího pivota
Následují některé speciální vlastnosti, které řídí vzhled
a chování Rozhodovacího pivota:
-
První vlastnosti uvedené pro TDecisionPivot definují
překrývající chování a vzhled. Můžeme chtít nastavit ButtonAutoSize
na false pro TDecisionPivot, k držení tlačítek od rozšiřování
nebo sbalování při změně velikosti komponenty.
-
Vlastnost Groups komponenty TDecisionPivot
definuje, které rozměry tlačítka zobrazují. Můžeme zobrazit řádek, sloupec
a sumář výběrem skupiny tlačítka v libovolné kombinaci. Pokud potřebujeme
více flexibilnosti nad umístěním těchto skupin, pak můžeme umístit jeden
TDecisionPivot
na náš formulář, který obsahuje pouze řádky na jednom místě a druhý, který
obsahuje pouze sloupce na jiném místě.
-
Obvykle, TDecisionPivod je přidán nad TDecisionGrid.
Ve své implicitní orientaci, vodorovné, tlačítka na levé straně TDecisionPivot
se aplikují na položky na levé straně TDecisionGrid (řádky); tlačítka
na pravé straně se aplikují na položky na vrcholu TDecisionGrid
(sloupce).
-
Můžeme určit, kde se zobrazí tlačítka TDecisionPivot,
nastavením vlastnosti GroupLayout na xtVertical, xtLeftTop
nebo
xtHorizontal (implicitně)
Vytváření a používání
Rozhodovacích mřížek
Komponenta Rozhodovací mřížky, TDecisionGrid, prezentuje
data křížové tabulky v tabulkovém formátu. V této sekci jsou ještě body:
Vytváření Rozhodovací mřížky
K vytvoření formuláře s jednou nebo více tabulkami s daty
křížových tabulek,
-
Provedeme kroky 1 - 3 uvedenými v bodě Návod
pro používání komponent podporujících rozhodování.
-
Přidáme jednu nebo více komponent Rozhodovací mřížky (TDecisionGrid)
a připojíme je k Rozhodovacímu zdroji, TDecisionSource v Inspektoru
objektů nastavením jejich vlastnosti DecisionSource na příslušnou
komponentu Rozhodovacího zdroje.
-
Pokračujeme v krocích 5 - 7 uvedenými v Návodu
pro používání komponent podporujících rozhodování.
Popis toho co je zobrazeno v Rozhodovací mřížce a jak ji
používat najdeme v Používání Rozhodovací
mřížky. Pro přidání grafu na formulář, pokračujeme instrukcemi z Vytváření
Rozhodovacích grafů.
Používání Rozhodovací mřížky
Komponenta Rozhodovací mřížky, TDecisionGrid, zobrazuje
data z Rozhodovací kostky (TDecisionCube) připojené k Rozhodujícímu
zdroji (TDecisionSource).
Implicitně, mřížka zobrazuje položky rozměrů na své levé
straně a/nebo nahoře, v závislosti na seskupovacích instrukcích definovaných
v datové množině. Kategorie, jedna pro každou datovou hodnotu, jsou zobrazeny
pod každou položkou. Můžeme
Více informací o speciálních vlastnostech a událostech Rozhodovací
mřížky nalezneme ve Vlastnosti
Rozhodovací mřížky.
Otevírání
a uzavírání položek Rozhodovací mřížky
Pokud znaménko plus se zobrazuje v rozměrových nebo sumárních
položkách, pak jedna nebo více položek napravo je uzavřeno (skryto). Můžeme
otevřít další položky a kategorie kliknutím na znaménku. Znaménko minus
indikuje úplně otevřené položky. Když klikneme na znaménko, pak položka
se uzavře.
Reorganizování
řádků a sloupců v Rozhodovací mřížce
Můžeme přetáhnout hlavičky řádků nebo sloupců na nové místo.
Tímto způsobem můžeme reorganizovat mřížku a vidíme data z nové perspektivy
jako data měnící seskupení. Tato služba může být zakázána.
Pokud vložíme Rozhodovacího pivota, pak k reorganizaci
zobrazení můžeme přetáhnout jeho tlačítka.
Zmrazení pro detail
v Rozhodovací mřížce
Můžeme zmrazit otáčení, abychom viděli více detailů v rozměru.
Např. pokud klikneme pravým tlačítkem na popisu kategorie (hlavičce řádku)
pro rozměr s ostatními sbalenými položkami, pak můžeme zvolit zmrazení
a vidíme pouze data pro tuto kategorii. Když rozměr je zmrazený, pak nevidíme
popisy kategorie pro které jsou zobrazeny v mřížce rozměry, neboť jsou
zobrazeny pouze záznamy pro jednu hodnotu kategorie. Pokud máme Rozhodovacího
pivota na formuláři, pak zobrazí hodnotu kategorie a pokud požadujeme můžeme
ji změnit na ostatní hodnoty.
Pro zmrazení v rozměru,
-
V místní nabídce popisu kategorie zvolíme Drill In To
This Value nebo
-
V místní nabídce tlačítka osy zvolíme Drilled In.
Pro opětovné udělání kompletního rozměru aktivního klikneme
pravým tlačítkem na odpovídající tlačítko pivotu nebo klikneme pravým tlačítkem
v levém horním rohu Rozhodovací mřížky a vybereme rozměr.
Omezování výběru
rozměru v Rozhodovací mřížce
Můžeme změnit vlastnost ControlType Rozhodovacího
zdroje k určení zda více než jeden rozměr může být vybrán pro každý směr
v mřížce.
Vlastnosti Rozhodovací mřížky
Komponenta Rozhodovací mřížky TDecisionGrid, zobrazuje
data z komponenty Rozhodovací kostky připojené k Rozhodovacímu zdroji.
Implicitně data zobrazená v mřížce jsou spojena s položkami kategorií na
levé straně a v horní části mřížky.
Následují některé speciální vlastnosti, které řídí vzhled
a chování Rozhodovací mřížky:
-
TDecisionGrid má unikátní vlastnosti pro každý rozměr.
K jejich nastavení zvolíme Dimensions v Inspektoru objektů a potom
vybereme rozměr. Jeho vlastnosti jsou zobrazeny v Inspektoru objektů. Alignment
definuje zarovnávání popisů kategorie pro tento rozměr, Caption
může být použit k přepsání implicitního jména rozměru, Color definuje
barvu popisu kategorie, FieldName zobrazuje jméno aktivního rozměru,
Format
může držet libovolný standardní formát pro tento datový typ a Subtotals
indikuje zda jsou pro tento rozměr zobrazovány mezisoučty. Pro sumární
položky, tyto stejné vlastnosti jsou používány ke změně vzhledu dat zobrazených
v sumární oblasti mřížky.
-
Vlastnost Options komponenty TDecisionGrid
řídí zobrazování linek mřížky (cgGrodLines = true), povoluje
služby rozbalování a sbalování rozměru indikatory + a - (cgOutliner
= true) a povoluje tažení rozměrů (cgPivotable = true).
-
Událost OnDecisionDrawCell umožňuje měnit vzhled buněk
jejich kreslením. Událost přebírá jako odkazové parametry String,
Font
a Color současné buňky. Tyto parametry můžeme volně měnit, jako
např. pro záporné hodnoty použít speciální barvu. Mimo Drawstate,
který je předáván
TCustomGrid, událost předává TDecisionDrawState,
což může být použito k určení jaký typ buňky bude kreslen. Další informace
o buňce můžeme získat pomocí funkcí Cells, CellValueArray
nebo CellDrawState.
-
Událost OnDecisionExamineCell umožňuje zachytit událost
kliknutí pravým tlačítkem na datové buňce a je určena k umožnění programu
zobrazit informace (jako je detailní záznam) o této jisté datové buňce.
Když uživatel klikne pravým tlačítkem na datové buňce, pak události jsou
předány všechny informace, které mohou být použity ke složení datové hodnoty,
včetně současně aktivní sumární hodnoty a ValueArray všech hodnot
rozměrů které mohou být použity k vytvoření sumární hodnoty.
Vytváření a používání
Rozhodovacích grafů
Komponenta Rozhodovacího grafu, TDecisionGraph, prezentuje
data křížové tabulky v grafickém formátu. Každý Rozhodovací graf zobrazuje
hodnoty jedné sumarizace, jako je Sum, Count nebo Avg,
pro jeden nebo více rozměrů.
V této části jsou ještě uvedeny tyto body:
Vytváření Rozhodovacích grafů
K vytvoření formuláře s jedním nebo více Rozhodovacími grafy:
-
Provedeme kroky 1 - 3 uvedenými v bodě Návod
pro používání komponent podporujících rozhodování.
-
Přidáme jednu nebo více komponent Rozhodovacího grafu (TDecisionGraph)
a připojíme je k Rozhodovacímu zdroji, TDecisionSource v Inspektoru
objektů nastavením jejich vlastnosti DecisionSource na příslušnou
komponentu Rozhodovacího zdroje.
-
Pokračujeme v krocích 5 - 7 uvedenými v Návodu
pro používání komponent podporujících rozhodování.
-
Nakonec v místní nabídce grafu zvolíme Edit Chart
k modifikaci vzhledu sérií grafu. Můžeme nastavit šablonu vlastností pro
každý rozměr grafu, a pak nastavit jednotlivé vlastnosti sérií k přepsání
implicitních hodnot.
Pro určení co zobrazit v Rozhodovacím grafu a jak jej používat
se podívejte do Používání Rozhodovacích
grafů.
Používání Rozhodovacích grafů
Komponenta Rozhodovacího grafu, TDecisionGraph, zobrazuje
položky z Rozhodovacího zdroje jako dynamický graf, který se mění, když
rozměry dat jsou otevírány, uzavírány, přetaženy nebo rearanžovány Rozhodovacím
pivotem.
Zobrazovaná data jsou získána od speciálně formátované
datové množiny, jako je TDecisionQuery. Implicitně první řádek rozměru
je zobrazen jako osa x a první sloupec rozměru je zobrazen jako osa y.
Rozhodovací graf můžeme použít společně s Rozhodovací
mřížkou. Rozhodovací mřížky a Rozhodovací grafy, které jsou spojeny se
stejným Rozhodovacím zdrojem, prezentují stejné rozměry dat. K zobrazení
různých sumárních dat pro stejné rozměry, můžeme připojit více než jeden
Rozhodovací graf ke stejnému Rozhodovacímu zdroji. K zobrazení různých
rozměrů, připojíme Rozhodovací grafy k různým Rozhodovacím zdrojům.
Např. na následujícím obrázku první Rozhodovací pivot
a graf jsou spojeny s prvním Rozhodovacím zdrojem a druhý Rozhodovací pivot
a graf s druhým. Každý graf tak může zobrazovat jiné rozměry.
Zobrazení Rozhodovacího grafu
Implicitně Rozhodovací graf znázorňuje sumární hodnoty pro
kategorie v prvním aktivním řádku (okolo osy y) společně s hodnotami v
prvním aktivním sloupci (okolo osy x). Každá zobrazovaná série se zobrazuje
jako samostatná série.
Pokud je vybrán pouze jeden rozměr (např. kliknutím pouze
na jedno tlačítko TDecisionPivot), pak je zobrazena pouze jedna
série. Když používáme Rozhodovací pivot, pak jejími tlačítky můžeme určovat,
které položky Rozhodovací kostky (rozměry) jsou zobrazovány. Ke změně os
grafu, přetáhneme tlačítko rozměru Rozhodovacího pivotu z jedné strany
na druhou. Když máme jednorozměrný graf se všemi tlačítky na jedné straně,
pak můžeme použít ikonu Row nebo Column jako cíl tažení pro
přidávání tlačítek na druhou stranu k vytvoření vícerozměrného grafu.
Pokud chceme aby v jeden okamžik byl aktivní pouze jeden
sloupec a jeden řádek, pak můžeme nastavit vlastnost ControlType
pro TDecisionSource na xtRadio. Pak může být aktivní pouze
jedna položka pro každou osu Rozhodovací kostky a funkčnost Rozhodovacího
pivotu bude odpovídat chování grafu. xtRadioEx pracuje stejně jako
xtRadio,
ale neumožňuje aby všechny rozměry řádků nebo sloupců byly uzavřeny.
Když máme jak Rozhodovací mřížku tak i Rozhodovací graf
připojen ke stejnému TDecisionSource, pak pravděpodobně budeme chtít
nastavit
ControlType zpět na xtCheck k získání flexibilnějšího
chování pro mřížku.
Přizpůsobování Rozhodovacího
grafu
Komponenta rozhodovacího grafu, TDecisionGraph, zobrazuje
položky z Rozhodovacího zdroje jako dynamický graf, který se mění když
rozměry dat jsou otevírány, uzavírány, přetaženy nebo rearanžovány pomocí
Rozhodovacího pivota. Můžeme změnit typ, barvy, typy označovačů čar grafu
a mnoho dalších vlastností Rozhodovacího grafu.
Pro přizpůsobení grafu:
-
V místní nabídce grafu zvolíme Edit Chart. Je zobrazeno
dialogové okno editace grafu.
-
Použijeme stránku Chart dialogového okna editace grafu
k zobrazení seznamu viditelných sérií, vybereme sérii k použití, změníme
typ grafu pro šablonu nebo sérii a nastavíme další vlastnosti grafu.
Seznam Series na stránce Chart zobrazuje
všechny rozměru Rozhodovací kostky (předcházené Template:) a současně
viditelné kategorie. Každá kategorie nebo série je samostatný objekt. Můžeme:
-
Přidávat nebo rušit série odvozením od existující série Rozhodovacího
grafu. Odvozené série mohou poskytnout anotaci pro existující série nebo
reprezentovat hodnoty vypočítané z jiné série.
-
Změnit implicitní typ grafu a změnit titulek šablony a série.
Popis ostatních záložek stránky Chart je uveden v
nápovědě.
-
Použijeme stránku Series k zřízení šablon rozměru;
pak přizpůsobíme vlastnosti pro každou individuální sérii grafu.
Implicitně, všechny série jsou zobrazovány jako sloupcový
graf a až do 16 přiřazených implicitních barev. Můžeme editovat typ šablony
a vlastnosti k vytvoření nového implicitního grafu. Podrobnosti o šablonách
viz
Nastavování
implicitní šablony Rozhodovacího grafu. Instrukce pro přizpůsobení
individuálních sérii nalezneme v Přizpůsobování
serií Rozhodovacího grafu.
Nastavování
implicitní šablony Rozhodovacího grafu
Rozhodovací graf zobrazuje hodnoty ze dvou rozměrů Rozhodovací
kostky: jeden rozměr je zobrazen jako osa grafu a druhý je použit k vytvoření
množiny sérií. Šablona pro tento rozměr poskytuje implicitní vlastnosti
pro tyto série (jako zda série jsou sloupce, čáry, oblasti apod.). Jak
přecházíme z jednoho stavu do jiného, libovolné požadované série pro rozměr
jsou vytvořeny pomocí typu série a dalších implicitních specifikací v šabloně.
Samostatná šablona je poskytnuta pro případ, kdy uživatel
přejde do stavu pouze s jedním aktivním rozměrem. Jednorozměrný stav je
často reprezentován koláčovým grafem a tedy pro tento případ je poskytnuta
samostatná šablona.
Můžeme:
Změna implicitního typu grafu
Pro změnu implicitního typu grafu:
-
Vybereme sérii v seznamu Series na stránce Chart
dialogového okna Editoru grafu.
-
Stiskneme tlačítko Change.
-
Vybereme nový typ a uzavřeme dialogové okno.
Změna ostatních
vlastností šablony Rozhodovacího grafu
Pro změnu barvy nebo ostatních vlastností šablony:
-
Přejdeme na stránku Series v dialogovém okně Editoru
grafu.
-
Vybereme šablonu z rozbalovacího seznamu v horní části stránky.
-
Přejdeme na příslušnou záložku a provedeme nastavení.
Prohlížení
a nastavování vlastností Rozhodovacího grafu
K zobrazení a nastavení jiných vlastností než typ a série
Rozhodovacího grafu:
-
Přejdeme na stránku Chart v dialogovém okně Editoru
grafu.
-
Přejdeme na příslušnou záložku a provedeme nastavení.
Přizpůsobování sérií
Rozhodovacího grafu
Šablony předávají mnoho implicitních hodnot pro každý rozměr
Rozhodovací kostky, jako je typ grafu a jak jsou série zobrazeny. Ostatní
implicitní hodnoty, jako je barva série, jsou definovány TDecisionGraph.
Pokud požadujeme pak můžeme přepsat implicitní hodnoty pro každou sérii.
Šablony jsou určené pro použití, když program vytváří série pro kategorie
podle potřeby, a zrušeny, když již dále nejsou zapotřebí. Pokud požadujeme,
pak můžeme nastavit přizpůsobené série pro specifické hodnoty kategorie.
Když série je zobrazená v grafu, pak můžeme použít Editor grafu k:
Změna typu grafu
Implicitně, každá série má stejný typ grafu, definovaný šablonou
pro tento rozměr. Pro změnu všech sérií na stejný typ grafu, můžeme změnit
typ šablony. Tím jsme se již zabývali v předchozí sekci. Pro změnu typu
grafu pro jednu sérii:
-
Vybereme sérii v seznamu Series na stránce Chart
Editoru grafu.
-
Stiskneme tlačítko Change.
-
Vybereme nový typ a uzavřeme okno galerie.
-
Označíme značku Save Series.
Změna ostatních
vlastností sérií Rozhodovacího grafu
Pro změnu barvy nebo ostatních vlastností sérií Rozhodovacího
grafu:
-
Vybereme sérii v seznamu Series na stránce Chart
Editoru grafu.
-
Zvolíme příslušnou záložku a provedeme nastavení.
-
Označíme značku Save Series.
Ukládání nastavení
sérií Rozhodovacího grafu
Implicitně, při návrhu jsou ukládány pouze nastavení pro
šablony. Změny provedené na některé serii jsou uloženy pouze tehdy, když
je označena značka
Save Series v dialogovém okně Editoru grafu.
Ukládaní sérií může být náročné na paměť a tedy pokud
je nemusíme ukládat, pak není vhodné mít označenou značku Save Series.
Komponenty podporující
rozhodování za běhu
Za běhu, uživatel může provádět mnoho operací kliknutím levým
nebo pravým tlačítkem myši a tažením viditelných komponent podporujících
rozhodování. Tyto operace jsou shrnuty v:
Rozhodovací pivot za běhu
Uživatel může:
-
Kliknout levým tlačítkem na sumárním tlačítku na levém konci
Rozhodovacího pivota k zobrazení seznamu dostupných sumarizací. Tento seznam
můžeme použít ke změně zobrazených sumárních dat v Rozhodovacích mřížkách
a Rozhodovacích grafech.
-
Kliknout pravým tlačítkem myši na tlačítku rozměru a volit:
-
Move pro přesun z řádkové oblasti do sloupcové nebo
opačně.
-
Drill In k zobrazení detailních dat.
-
Kliknout levým tlačítkem myši na tlačítku rozměru následovaným
příkazem
Drill In a volbou:
-
Open Dimension k přesunu zpět na horní úroveň tohoto
rozměru.
-
All Values k přepnutí mezi zobrazováním pouze sumarizací
a sumarizací se všemi ostatními hodnotami v Rozhodovacích mřížkách.
-
Ze seznamu dostupných kategorií pro tento rozměr a zvolit
kategorii pro detailní hodnoty.
-
Kliknout levým tlačítkem myši na tlačítku rozměru k otevření
nebo uzavření tohoto rozměru.
-
Přetáhnou tlačítko rozměru ze řádkové oblasti do sloupcové
nebo opačně.
Rozhodovací mřížky za běhu
Uživatel může:
-
Kliknout pravým tlačítkem myši v Rozhodovací mřížce a volit
k:
-
Přepnutí zapnutí/vypnutí mezisoučtů pro individuální skupiny
dat, pro všechny hodnoty rozměru nebo pro celou mřížku.
-
Zobrazení Editoru Rozhodovací kostky.
-
Otevírání a uzavírání rozměrů a sumarizací.
-
Kliknutím na + a - na hlavičce řádku nebo sloupce k otevření
a uzavření rozměru.
-
Přetažení rozměru ze sloupců do řádků a naopak.
Rozhodovací grafy za běhu
Uživatel může táhnou za strany na stranu a ze shora dolů
v oblasti grafu k rolování nezobrazenými kategoriemi a hodnotami.
Komponenty
podporující rozhodování a řízení spotřeby paměti
Když rozměr nebo sumarizace je zaveden do Rozhodovací kostky,
pak je umístěn do paměti. Přidání nové sumarizace zvětšuje množství potřebné
paměti lineárně: tj. Rozhodovací kostka se dvěmi sumarizacemi používá dvakrát
více paměti než stejná kostka s jednou sumarizací, Rozhodovací kostka se
třemi sumarizacemi používá třikrát více paměti, atd. Zvětšování počtu rozměrů
zvětšuje potřebnou paměť rychleji. Přidání rozměru s 10 hodnotami zvětší
potřebnou paměť 10x. Přidání rozměru se 100 hodnotami, zvětší potřebnou
paměť 100x. Tedy přidávání rozměrů k Rozhodovací kostce způsobuje značnou
spotřebu paměti a může snadno způsobit problémy. Tento efekt je obzvláště
značný, když přidávaný rozměr má mnoho hodnot.
Spotřeba paměti může být omezena následujícími technikami:
Nastavování
maxima rozměrů, sumarizací a buněk
Vlastnosti MaxDimensions a MaxSummaries Rozhodovací
kostky, mohou být použity s vlastností CubeDim->ActiveFlag k řízení
kolik rozměrů a sumarizací může být zavedeno. Maximální hodnoty můžeme
nastavit na stránce Cube Capacity Editoru Rozhodovací kostky k omezení
spotřeby paměti.
Omezováním počtu rozměrů nebo sumarizací umožňujeme stanovit
limit potřebné paměti pro Rozhodovací kostku. Není zde ale uvažován rozdíl
mezi rozměry s malým počtem hodnot a těmi, které jich mají velmi mnoho.
Pro větší řízení potřebné paměti pro Rozhodovací kostku, můžeme také omezit
počet buněk v kostce. Provedeme to nastavením na stránce Cube Capacity
Editoru rozhodovací kostky.
Nastavování stavu rozměru
Vlastnost ActiveFlag řídí, které rozměry jsou zaváděny.
Můžeme nastavit tuto vlastnost na stránce Dimension Settings Editoru
Rozhodovací kostky pomocí ovladače Activity Type. Když tento ovladač
je nastaven na Active, pak rozměr je zaveden nepodmíněně a vždy
zabírá paměť. Nezapomeňte, že počet rozměrů v tomto stavu musí být vždy
menší než MaxDimensions a počet sumarizací nastavených na Active
musí být menší než MaxSummaries.
Když ActiveFlag je nastaveno na AsNeeded,
pak rozměr nebo sumarizace je zaváděna pouze pokud neporušuje limity MaxDimensions,
MaxSummaries
nebo MaxCells. Tedy takto označené rozměry a sumarizace nemusí být
stále zavedeny.
Používání stránkových rozměrů
Když Binning je nastaveno na Set na stránce
Dimension
Settings Editoru Rozhodovací kostky a Start Value není NULL,
pak rozměr můžeme být "stránkován" nebo "trvale sbalen". Můžeme přistupovat
pouze pro jednu hodnotu z tohoto rozměru v jeden okamžik, i když můžeme
programově přistupovat k sérii hodnot sekvenčně.
   |
22. Použití komponent podporujících
rozhodování
|