Podstatou databázových funkcií je to, že v zošite tabuľkového procesora máme v podstate tri oblasti – prvá je množina (databáza) údajov, v ktorých vyhľadávame, druhá sú vyhľadávacie kritéria a tretia sú výsledky vyhľadávania.
Definícia databázy v zošite
Prvú oblasť – databázu údajov si nemusíme špecificky pripomínať, pretože sa vlastne jedná o údaje, ktoré máme zadané v zošite. V tomto smere iba pripomeňme, že s pojmom „databáza údajov“ sme sa už stretli, keď sme spomínali rôzne spôsoby adresácie a definovali sme „databázovú oblasť“. Pokiaľ chceme v týchto údajoch vyhľadávať pomocou databázových funkcií, musí byť však splnené to, že jeden záznam je uložený v jednom riadku – presne tak isto, ako sme to spomínali v minulom dieli tohto seriálu. Je to tak preto, lebo OpenOffice.org Calc v týchto prípadoch vyhľadáva podľa riadkov.
Ďalej je potrebné, aby sme mali ako v databáze, tak aj vo vyhľadávacích podmienkach zadané názvy stĺpcov presne rovnako, ako to bolo v prípade použitia tabuľky ako zdroja údajov pre modul Base. Pre predstavu, ako to všetko má vyzerať si urobme tabuľku, v ktorej budeme mať uložené údaje o deťoch: meno, dátum narodenia, vek k 1.9. tohto roku, poplatok za školský klub, pohlavie a ročník školy, ktorý navštevuje.
Definícia databázovej oblasti „ziaci“
Vyhľadávacie podmienky
Tieto údaje si pre jednoduchšiu prácu zadefinujeme ako databázovú oblasť „ziaci“. Ďalej si musíme zadefinovať údaje, kde budeme zadávať vyhľadávacie kritéria. Tieto údaje zapíšeme pod našu tabuľku. OpenOffice.org Calc pri hľadaní predpokladá, že zadané vyhľadávacie (výberové) kritéria v rámci jedného riadku sú spojené logickou podmienkou „AND“ a podmienky zadané v rôznych riadkoch logickou podmienkou OR, pričom ak sa tam nachádzajú prázdne bunky (podmienky) sú ignorované.
Pokiaľ chceme nájsť viacero úplne nezávislých údajov, musíme si preto zadefinovať viacero nezávislých podmienok. V tomto smere je niekedy lepšie zadefinovať vlastnú databázu na osobitnom liste a rôzne výberové podmienky na iných listoch.
Po tomto teoretickom úvode si ukážme, ako dokážeme pracovať s vlastnými databázovými funkciami. Hneď na začiatok spomeňme, že je to len výber z týchto funkcií, aby sme si dokázali demonštrovať možnosti modulu OpenOffice.org Calc v tejto oblasti. Povedzme, že nás budú zaujímať nasledovné údaje: celkový počet školákov, vek najstaršieho a najmladšieho žiaka, priemerný vek žiakov, počet dievčat, ktoré nenavštevujú školu a suma poplatkov za školský klub.
Na tieto účely si musíme zadefinovať viacero podmienok, pomocou ktorých dokážeme vyhľadať požadované údaje. V prípade školákov stačí podmienka, aby navštevovaný ročník bol väčší ako nula.
Definícia podmienky návštevy školy
V prípade detí, ktoré nenavštevujú školu musí byť naopak tento údaj nulový a navyše, pretože chceme údaje iba o dievčatách, musíme zadať aj pohlavie.
Definícia podmienky dievčat, ktoré nenavštevujú školu
V prípade poplatkov za školský klub je podmienka taká, že tento poplatok musí byť nenulový.
Definícia podmienky poplatkov za školský klub
Vlastné databázové funkcie
Vlastné databázové funkcie majú v obecnosti nasledovný tvar:
funkcia(Databáza; Pole databázy; Kritériá vyhľadávania)
Jednotlivé parametre majú nasledovný význam:
Databáza – definovaná databázová oblasť, v ktorej vyhľadávame údaje. V našom konkrétnom prípade ju budeme zadávať cez definovaný názov „ziaci“.
Pole databázy – názov stĺpca (alebo jeho poradové číslo), v ktorom chceme príslušné údaje vyhľadať.
Kritériá vyhľadávania – adresy buniek, v ktorých máme zadané podmienky, podľa ktorých chceme vyhľadať údaje z databázy. Vo vyhľadávacích kritériách musíme mať zadané rovnaké názvy stĺpcov, ako sú definované v databáze, aby program dokázal podľa nich jednoznačne údaje vyhľadať. Pozor, toto poradie nemusí byť totožné a stačí, ak máme zadané iba tie stĺpce, kde zadávame vyhľadávacie podmienky. Pri zadávaní podmienok sa môžu použiť aj regulárne výrazy.
Na základe uvedeného použijeme teraz nasledovné funkcie, pomocou ktorých získame nami požadované údaje:
Podmienka pre získanie údajov o školákoch je zadaná v bunkách A8 až A9:
Celkový počet školákov =DCOUNT(ziaci;"Ročník"; A8:A9)
– táto funkcia spočíta počet riadkov, ktoré vyhovujú zadaným podmienkam a v ktorých sa nachádzajú číselné údaje.
Vek najstaršieho žiaka =DMAX(ziaci;"Vek"; A8:A9)
– táto funkcia nájde maximálnu hodnotu v riadkoch, ktoré vyhovujú zadaným podmienkam.
Vek najmladšieho žiaka =DMIN(ziaci;"Vek"; A8:A9)
– táto funkcia nájde minimálnu hodnotu v riadkoch, ktoré vyhovujú zadaným podmienkam.
Priemerný vek žiakov =DAVERAGE(ziaci;"Vek"; A8:A9)
– táto funkcia vypočíta priemernú hodnotu z údajov v riadkoch, ktoré vyhovujú zadaným podmienkam.
Príklad použitia funkcie DMIN v prvej výberovej podmienke
Podmienka pre získanie údajov o dievčatách, ktoré nenavštevujú školu je zadaná v bunkách E8 až F9:
Počet dievčat, ktoré nenavštevujú školu =DCOUNTA(ziaci;"Pohlavie"; E8:F9)
– táto funkcia spočíta počet riadkov, ktoré vyhovujú zadaným podmienkam a v ktorých sa nachádzajú alfanumerické alebo číselné údaje.
Príklad použitia funkcie DCOUNTA v druhej výberovej podmienke
Podmienka pre získanie výšky poplatkov za školský klub je zadaná v bunkách E13 až E14:
Suma poplatkov za školský klub =DSUM(ziaci;"klub"; E13:E14)
– táto funkcia urobí súčet hodnôt v bunkách riadkov, ktoré vyhovujú zadaným podmienkam.
Príklad použitia funkcie DSUM v tretej výberovej podmienke
Na týchto pár príkladoch sme si, myslíme, pomerne dobre ukázali používanie databázových funkcií a preto vám určite nebude robiť problém vyskúšať tie ostatné, ktoré sme nespomínali (DPRODUCT, DSTDEV atď.).
Nabudúce: Base ako zdroj údajov pre Calc.
Poznámka na koniec: Dávame vám do pozornosti, že vyšiel OpenOffice.org 2.3.1.
Stránky OpenOffice.org: www.openoffice.sk
Pre pridávanie komentárov sa musíte prihlásiť.