Kontingenčné tabuľky sa tradične vytvárajú pomocou kociek OLAP a iných komplexných zdrojov údajov, ktoré už majú široké prepojenia medzi tabuľkami. V Exceli však môžete bez obmedzení importovať viacero tabuliek a vytvárať vlastné prepojenia medzi tabuľkami. Táto flexibilita je však silná, ale tiež uľahčuje spájanie údajov, ktoré spolu nesúvisia, čo vedie k zvláštnym výsledkom.
Už ste niekedy vytvorili takúto kontingenčnú tabuľku? Chceli ste vytvoriť rozdelenie nákupov podľa oblasti, a tak ste vložili pole nákupnej sumy do oblasti Hodnoty a pole oblasti predaja do oblasti Označenia stĺpcov . Výsledky sú však nesprávne.
Ako sa to dá opraviť?
Problém spočíva v tom, že polia, ktoré ste pridali do kontingenčnej tabuľky, sa môžu nachádzať v rovnakom zošite, ale tabuľky obsahujúce jednotlivé stĺpce spolu nesúvisia. Môžete mať napríklad tabuľku, ktorá uvádza jednotlivé oblasti predaja, a ďalšiu tabuľku, ktorá uvádza nákupy pre všetky oblasti. Ak chcete vytvoriť kontingenčnú tabuľku a získať správne výsledky, musíte vytvoriť vzťah medzi týmito dvoma tabuľkami.
Po vytvorení vzťahu kontingenčná tabuľka správne skombinuje údaje z tabuľky nákupov so zoznamom oblastí a výsledky vyzerajú takto:
Excel obsahuje technológiu vyvinutú spoločnosťou Microsoft Research (MSR) na automatické zisťovanie a opravu problémov vo vzťahoch, ako je táto.
Používanie automatického zisťovania
Automatické zisťovanie kontroluje nové polia, ktoré pridáte do zošita obsahujúceho kontingenčnú tabuľku. Ak nové pole nesúvisí s hlavičkami stĺpcov a riadkov kontingenčnej tabuľky, v oblasti oznámení v hornej časti kontingenčnej tabuľky sa zobrazí hlásenie s informáciou, že je pravdepodobne potrebný vzťah. Excel bude tiež analyzovať nové údaje, aby našiel potenciálne vzťahy.
Môžete aj naďalej ignorovať správu a pracovať s kontingenčnou tabuľkou. Ak však kliknete na položku Vytvoriť, algoritmus začne pracovať a analyzuje údaje. V závislosti od hodnôt v nových údajoch, veľkosti a zložitosti kontingenčnej tabuľky, ako aj vzťahov, ktoré ste už vytvorili, môže tento proces trvať až niekoľko minút.
Proces sa skladá z dvoch fáz:
- Zisťovanie vzťahov. Po dokončení analýzy si môžete pozrieť zoznam navrhovaných vzťahov. Ak ho nezrušíte, Excel automaticky prejde na ďalší krok vytvárania vzťahov.
- Vytváranie vzťahov. Po použití vzťahov sa zobrazí dialógové okno s potvrdením, v ktorom môžete kliknutím na prepojenie Podrobnosti zobraziť zoznam vytvorených vzťahov.
Proces zisťovania môžete zrušiť, ale nemôžete zrušiť proces vytvorenia.
Algoritmus MSR vyhľadá "najlepšiu možnú" množinu vzťahov na prepojenie tabuliek v modeli. Algoritmus zisťuje všetky možné vzťahy nových údajov, pričom berie do úvahy názvy stĺpcov, typy údajov stĺpcov, hodnoty v rámci stĺpcov a stĺpce, ktoré sú v kontingenčných tabuľkách.
Excel potom vyberie vzťah s najvyšším skóre kvality, ako je určené internou heuristikou. Ďalšie informácie nájdete v témach Prehľad vzťahov a Riešenie problémov so vzťahmi.
Ak automatické zisťovanie neposkytne správne výsledky, môžete upraviť vzťahy, odstrániť ich alebo manuálne vytvoriť nové. Ďalšie informácie nájdete v téme Vytvorenie vzťahu medzi dvomi tabuľkami alebo Vytváranie vzťahov v zobrazení diagramu
Prázdne riadky v kontingenčných tabuľkách (neznámy člen)
Keďže kontingenčná tabuľka spája súvisiace tabuľky údajov, ak ľubovoľná tabuľka obsahuje údaje, ktoré nemožno spojiť pomocou kľúča alebo zhodnej hodnoty, s týmito údajmi sa musí nejakým spôsobom spracovať. Vo viacrozmerných databázach sa nezhodné údaje spracujú tak, že sa k neznámemu členovi priradia všetky riadky, ktoré nemajú žiadnu zodpovedajúcu hodnotu. V kontingenčnej tabuľke sa neznámy člen zobrazuje ako prázdny nadpis.
Ak napríklad vytvoríte kontingenčnú tabuľku, ktorá má zoskupovať predaj podľa predajne, ale niektoré záznamy v tabuľke predaj neobsahujú uvedený názov predajne, zoskupia sa všetky záznamy bez platného názvu predajne.
Ak konečne budete mať prázdne riadky, máte dve možnosti. Môžete buď definovať funkčný vzťah tabuliek, napríklad vytvorením reťazca vzťahov medzi viacerými tabuľkami, alebo môžete z kontingenčnej tabuľky odstrániť polia, ktoré spôsobujú výskyt prázdnych riadkov.