Warning: This Help page is relevant to LibreOffice up to version 6.0.
For updated Help pages, visit https://help.libreoffice.org.

Tietokantafunktiot

From LibreOffice Help
Jump to navigation Jump to search

Lyhyesti: tässä osiossa käsitellään funktioita, joita käytetään tietueluettelomuotoisiin tietoihin, joissa yksi aineistorivi muodostaa yhden tietueen.

Note.png Tietokantafunktioiden luokka voidaan vahingossa sekoittaa integroituun LibreOffice-tietokantasovellukseen. Mitään erityistä yhteyttä LibreOffice-tietokannan ja LibreOffice Calcin tietokantafunktioiden välillä ei kuitenkaan ole.

Esimerkkiaineisto

Seuraavaa aineistoa käytetään joissakin funktiokuvausten esimerkeissä:

Alueella A1:E10 on lueteltu lapsia, jotka Jussi kutsuu syntymäpäiväjuhliinsa. Seuraavat tiedot on annettu jokaisella rivillä: sarakkeessa A on nimi, B-sarakkeessa luokka, sitten ikä vuosissa, koulumatka metreinä ja paino kilogrammoina.

A B C D E
1 nimi luokka ikä koulumatka paino
2 Aarne 3 9 150 40
3 Bertta 4 10 1000 42
4 Cecilia 3 10 300 51
5 Daavid 5 11 1200 48
6 Eemeli 2 8 650 33
7 Floora 2 7 300 42
8 Gideon 1 7 200 36
9 Heikki 3 9 1200 44
10 Iivari 2 8 1000 42
11
12
13 nimi luokka ikä koulumatka paino
14 >600
15
16 tulos: 5

Solun B16 lauseke on =DCOUNT(A1:E10;0;A13:E14)

Tietokantafunktion parametrit:

Tietokantafunktioiden parametreille käytetään seuraavia määritelmiä:

Tietokanta tarkoittaa solualuetta, joka määrittää koko tietueluettelon.

Tietokannan kenttä tarkoittaa saraketta, johon funktiot kohdistuvat ensimmäisen parametrin käytön jälkeen, kun kanta ja rivit on valittu. Se ei ole riippuvainen hakukriteeristä. Numero 0 merkitsee koko arvoaluetta. Kun kenttään viitataan sarakeotsikoilla, käytetään lainausmerkkejä.

Hakuehto on solualue, jolle ehdot on kirjoitettu. Jos yhdellä rivillä on useita ehtoja, niiden väliin tulkitaan (rajaavasti) AND-operaattori. Jos ehdot ovat eri riveillä, niitä erottaa (laajentava) OR-operaattori. Tyhjät solut jätetään hakuehtoalueella huomiotta.

Valitse Työkalut - Asetukset - LibreOffice Calc - Laskenta määritelläksesi, kuinka LibreOffice Calc käsittelee identtiset merkinnät.

Katso myös Wiki-sivu Conditional Counting and Summation(englanniksi).

DSTDEVP (suom. TKESKIHAJONTAP)

DSTDEVP laskee koko populaation keskihajonnan niiden solujen arvoista, jotka täyttävät hakukriteerit tietokanta-alueen sarakkeessa. Tietueiden katsotaan edustavan koko populaatiota.

Hakutoiminto tukee säännöllisiä lausekkeita. Voit syöttää esimerkiksi "all.*", jolloin löytyy kaikki merkkijonot, joiden alussa on "all". Jos haetaan merkkejä, joita käytetään säännöllisen lausekkeen koodeissa, merkkien eteen laitetaan \-merkki. Säännöllisten lausekkeiden käyttöasetus tehdään valinnassa Työkalut - Asetukset - LibreOffice Calc - Laskenta.

Syntaksi

DSTDEVP(tietokanta; tietokannan kenttä; hakuehto)

Kun kenttään viitataan sarakeotsikoilla, käytetään lainausmerkkejä.

Esimerkki

Halutaan tietää, mikä on kaikkien samanikäisten lasten painojen keskihajonta Jussin syntymäpäivillä (katso sivun alkuosasta). Kirjoitetaan soluun B16 seuraava kaava:

=DSTDEVP(A1:E10;"paino";A13:E14)

Riville 14, ikä-sanan alle, kirjoitetaan 7, 8, 9 ja niin edelleen, yksi kerrallaan. Tuloksena näkyy kaikkien punnittujen samanikäisten lasten painojen keskihajonta.

DSTDEV (suom. TKESKIHAJONTA)

DSTDEV laskee populaation otokseen perustuvan keskihajonnan käyttäen tietokannan saraketta, joka sopii annettuihin hakuehtoihin. Tietueita käsitellään otoksena aineistosta. Tämä tarkoittaa, että esimerkin lapset edustavat kaikkien koulun lasten poikkileikkausta. Kuitenkaan tilastollisesti edustavia tuloksia ei saada tuhatta pienemmästä otoksesta.

Hakutoiminto tukee säännöllisiä lausekkeita. Voit syöttää esimerkiksi "all.*", jolloin löytyy kaikki merkkijonot, joiden alussa on "all". Jos haetaan merkkejä, joita käytetään säännöllisen lausekkeen koodeissa, merkkien eteen laitetaan \-merkki. Säännöllisten lausekkeiden käyttöasetus tehdään valinnassa Työkalut - Asetukset - LibreOffice Calc - Laskenta.

Syntaksi

DSTDEV(tietokanta; tietokannan kenttä; hakuehto)

Kun kenttään viitataan sarakeotsikoilla, käytetään lainausmerkkejä.

Esimerkki

Sen selvittämiseksi, mikä on saman ikäisten, sivun alussa esitetyn esimerkin lasten painojen keskihajonta, kirjoitetaan soluun B16 seuraava kaava:

=DSTDEV(A1:E10;"paino";A13:E14)

Riville 14, ikä-sanan alle, kirjoitetaan 7, 8, 9 ja niin edelleen, yksi kerrallaan. Tuloksena näkyy samanikäisten lasten painojen keskihajonta.

DPRODUCT (suom. TTULO)

DPRODUCT antaa tulokseksi kaikkien tietoalueen solujen tulon hakuehtojen rajoissa.

Hakutoiminto tukee säännöllisiä lausekkeita. Voit syöttää esimerkiksi "all.*", jolloin löytyy kaikki merkkijonot, joiden alussa on "all". Jos haetaan merkkejä, joita käytetään säännöllisen lausekkeen koodeissa, merkkien eteen laitetaan \-merkki. Säännöllisten lausekkeiden käyttöasetus tehdään valinnassa Työkalut - Asetukset - LibreOffice Calc - Laskenta.

Syntaksi

DPRODUCT(tietokanta; tietokannan kenttä; hakuehto)

Kun kenttään viitataan sarakeotsikoilla, käytetään lainausmerkkejä.

Esimerkki

Syntymäpäiväjuhlista ei löydy mielekästä sovellusta tälle funktiolle (katso esimerkkiä sivun yläosassa).

DAVERAGE (suom. TKESKIARVO)

DAVERAGE antaa tulokseksi tietokannan kaikkien solujen (kenttien) keskiarvon kaikista riveistä (tietueista) hakuehtojen rajoissa.

Hakutoiminto tukee säännöllisiä lausekkeita. Voit syöttää esimerkiksi "all.*", jolloin löytyy kaikki merkkijonot, joiden alussa on "all". Jos haetaan merkkejä, joita käytetään säännöllisen lausekkeen koodeissa, merkkien eteen laitetaan \-merkki. Säännöllisten lausekkeiden käyttöasetus tehdään valinnassa Työkalut - Asetukset - LibreOffice Calc - Laskenta.

Syntaksi

DAVERAGE(tietokanta; tietokannan kenttä; hakuehto)

Kun kenttään viitataan sarakeotsikoilla, käytetään lainausmerkkejä.

Esimerkki

Selvitetään kaikkien samanikäisten lasten keskipaino alussa esitetystä esimerkkiaineistosta. Kirjoitetaan soluun B16 seuraava kaava:

=DAVERAGE(A1:E10;"paino";A13:E14)

Riville 14, ikä-sanan alle, kirjoitetaan 7, 8, 9 ja niin edelleen, yksi kerrallaan. Tuloksena näkyy samanikäisten lasten painojen keskiarvo.

DMIN (suom. TMIN)

DMIN antaa tulokseksi tietokannan kentän pienimmän arvon hakuehtojen rajoissa.

Hakutoiminto tukee säännöllisiä lausekkeita. Voit syöttää esimerkiksi "all.*", jolloin löytyy kaikki merkkijonot, joiden alussa on "all". Jos haetaan merkkejä, joita käytetään säännöllisen lausekkeen koodeissa, merkkien eteen laitetaan \-merkki. Säännöllisten lausekkeiden käyttöasetus tehdään valinnassa Työkalut - Asetukset - LibreOffice Calc - Laskenta.

Syntaksi

DMIN(tietokanta; tietokannan kenttä; hakuehto)

Kun kenttään viitataan sarakeotsikoilla, käytetään lainausmerkkejä.

Esimerkki

Etsitään lyhyin koulumatka jokaista luokkaa kohti alussa esitetyssä esimerkissä. Kirjoitetaan soluun B16 seuraava lauseke:

=DMIN(A1:E10;"koulumatka";A13:E14)

Riville 14, luokka-sanan alle, kirjoitetaan 1, 2, 3, ja niin edelleen, yksi toisensa perään. Tuloksena näkyy kunkin luokan lyhyin koulumatka.

DMAX (suom. TMAKS)

DMAX antaa tulokseksi kentän suurimman arvon, joka löytyy tietokannasta (kakista tietueista) asetettujen hakuehtojen rajoissa.

Hakutoiminto tukee säännöllisiä lausekkeita. Voit syöttää esimerkiksi "all.*", jolloin löytyy kaikki merkkijonot, joiden alussa on "all". Jos haetaan merkkejä, joita käytetään säännöllisen lausekkeen koodeissa, merkkien eteen laitetaan \-merkki. Säännöllisten lausekkeiden käyttöasetus tehdään valinnassa Työkalut - Asetukset - LibreOffice Calc - Laskenta.

Syntaksi

DMAX(tietokanta; tietokannan kenttä; hakuehto)

Kun kenttään viitataan sarakeotsikoilla, käytetään lainausmerkkejä.

Esimerkki

Selvitetään, kuinka paljon painaa painavin lapsi kultakin luokalta alussa esitetyssä esimerkissä. Kirjoitetaan soluun B16 lauseke:

=DMAX(A1:E10;"paino";A13:E14)

Hakuehdon luokka-sanan alle kirjoitetaan 1, 2, 3, ja niin edelleen, yksi toisensa perään. Kunkin luokan numeron jälkeen ilmestyy tuolta luokalta olevan painavimman oppilaan paino tulokseksi.

DGET (suom. TNOUDA)

DGET antaa tulokseksi solun sisällön tietokannan viitteestä, joka täyttää asetetun hakuehdon. Virheen sattuessa funktio palauttaa #ARVO!, kun yhtään arvoa tai riviä ei löydy tai Virhe:502, kun useampia kuin yksi solu löytyy.

Hakutoiminto tukee säännöllisiä lausekkeita. Voit syöttää esimerkiksi "all.*", jolloin löytyy kaikki merkkijonot, joiden alussa on "all". Jos haetaan merkkejä, joita käytetään säännöllisen lausekkeen koodeissa, merkkien eteen laitetaan \-merkki. Säännöllisten lausekkeiden käyttöasetus tehdään valinnassa Työkalut - Asetukset - LibreOffice Calc - Laskenta.

Syntaksi

DGET(tietokanta; tietokannan kenttä; hakuehto)

Kun kenttään viitataan sarakeotsikoilla, käytetään lainausmerkkejä.

Esimerkki

Alussa esitetyssä esimerkkiaineistossa etsitään luokkaa oppilaalle, jonka nimi kirjoitetaan soluun A14. Kaava solussa B16 poikkeaa aiemmista siinä suhteessa, että vain yksi sarake (tietokannan kenttä) voidaan syöttää tietokannan kenttä -parametriksi (eikä arvoa 0). Syötetään seuraava lauseke:

=DGET(A1:E10;"luokka";A13:E14)

Kirjoitetaan nimi Floora soluun A14 ja tulokseksi tulee 2. Floora on toisella luokalla. Kun kirjoitetaan "ikä" "luokka"-hakuehdon tilalle, saadaan Flooran ikä.

Toisessa esimerkissä kirjoitetaan arvo 11 vain soluun C14 ja poistetaan muut arvot riviltä. Lauseketta solussa B16 muokataan seuraavasti:

=DGET(A1:E10;"nimi";A13:E14)

Luokan sijasta haetaankin nimeä. Vastaus ilmestyy välittömästi: Daavid on ainoa lapsi, jonka ikä on 11.

DCOUNTA (suom. TLASKEA)

DCOUNTA antaa tulokseksi niiden rivien (tietueiden) lukumäärän tietokannassa, jotka täyttävät asetetut hakuehdot ja joissa on arvo ovat numeerisia tai aakkosnumeerisia.

Hakutoiminto tukee säännöllisiä lausekkeita. Voit syöttää esimerkiksi "all.*", jolloin löytyy kaikki merkkijonot, joiden alussa on "all". Jos haetaan merkkejä, joita käytetään säännöllisen lausekkeen koodeissa, merkkien eteen laitetaan \-merkki. Säännöllisten lausekkeiden käyttöasetus tehdään valinnassa Työkalut - Asetukset - LibreOffice Calc - Laskenta.

Syntaksi

DCOUNTA(tietokanta; tietokannan kenttä; hakuehto)

Kun kenttään viitataan sarakeotsikoilla, käytetään lainausmerkkejä.

Esimerkki

Ylempänä esitetyssä esimerkkiaineistossa voidaan etsiä sellaisten lasten lukumäärää, joiden nimi alkaa E:llä tai sen jälkeisellä kirjaimella. Muokataan lauseketta B16-solussa: =DCOUNTA(A1:E10;"nimi";A13:E14). Poistetaan vanhan hakuehdot ja kirjoitetaan >=E nimi-sanan alle soluun A14. Tulos on 5. Jos nyt poistetaan kaikki numeroarvot Gideonin riviltä 8, tulos muuttuu 4:ksi. Riviä 8 ei enää huomioida, koska sillä ei ole arvoja (riittävästi). Nimi Gideon on nyt vain tekstiä, ei tietokannan arvo. Tietokannan kenttä -parametrin pitää osoittaa sarakkeeseen, jossa voi olla arvoja.

DVARP (suom. TVARIANSSIP)

DVARP laskee tietokannan (Calcissa) asetetut ehdot täyttävien tietueiden yhden kentän kaikkien solujen varianssin. Tietueiden katsotaan edustavan koko populaatiota.

Hakutoiminto tukee säännöllisiä lausekkeita. Voit syöttää esimerkiksi "all.*", jolloin löytyy kaikki merkkijonot, joiden alussa on "all". Jos haetaan merkkejä, joita käytetään säännöllisen lausekkeen koodeissa, merkkien eteen laitetaan \-merkki. Säännöllisten lausekkeiden käyttöasetus tehdään valinnassa Työkalut - Asetukset - LibreOffice Calc - Laskenta.

Syntaksi

DVARP(tietokanta; tietokannan kenttä; hakuehto)

Kun kenttään viitataan sarakeotsikoilla, käytetään lainausmerkkejä.

Esimerkki

Halutaan tietää, mikä on kaikkien samanikäisten lasten painojen varianssi Jussin syntymäpäivillä (katso sivun alusta). Kirjoitetaan soluun B16 seuraava kaava:

=DVARP(A1:E10;"paino";A13:E14)

Riville 14, ikä-sanan alle, kirjoitetaan 7, 8, 9 ja niin edelleen, yksi kerrallaan. Tuloksena näkyy samanikäisten lasten painojen varianssi Jussin syntymäpäivillä.

DVAR (suom. TVARIANSSI)

DVAR antaa tulokseksi tietokannan asetetut ehdot täyttävien tietueiden yhden kentän kaikkien solujen varianssin. Tietueet käsitetään otokseksi aineistosta, myös esimerkissä. Tilastollinen edustavuus vaatii yli tuhannen alkion otoksen.

Hakutoiminto tukee säännöllisiä lausekkeita. Voit syöttää esimerkiksi "all.*", jolloin löytyy kaikki merkkijonot, joiden alussa on "all". Jos haetaan merkkejä, joita käytetään säännöllisen lausekkeen koodeissa, merkkien eteen laitetaan \-merkki. Säännöllisten lausekkeiden käyttöasetus tehdään valinnassa Työkalut - Asetukset - LibreOffice Calc - Laskenta.

Syntaksi

DVAR(tietokanta; tietokannan kenttä; hakuehto)

Kun kenttään viitataan sarakeotsikoilla, käytetään lainausmerkkejä.

Esimerkki

Halutaan tietää, mikä on kaikkien samanikäisten lasten painojen varianssi sivun alussa esitetyssä (otokseksi käsitettävässä) aineistossa. Kirjoitetaan soluun B16 seuraava kaava:

=DVAR(A1:E10;"paino";A13:E14)

Riville 14, ikä-sanan alle, kirjoitetaan 7, 8, 9 ja niin edelleen, yksi kerrallaan. Tuloksena näkyy yleinen samanikäisten lasten painojen varianssi.

DSUM (suom. TSUMMA)

DSUM antaa tulokseksi tietokannan kentän arvojen summan hakuehdot täyttäviltä riveiltä (tietueista).

Hakutoiminto tukee säännöllisiä lausekkeita. Voit syöttää esimerkiksi "all.*", jolloin löytyy kaikki merkkijonot, joiden alussa on "all". Jos haetaan merkkejä, joita käytetään säännöllisen lausekkeen koodeissa, merkkien eteen laitetaan \-merkki. Säännöllisten lausekkeiden käyttöasetus tehdään valinnassa Työkalut - Asetukset - LibreOffice Calc - Laskenta.

Syntaksi

DSUM(tietokanta; tietokannan kenttä; hakuehto)

Kun kenttään viitataan sarakeotsikoilla, käytetään lainausmerkkejä.

Esimerkki

Halutaan tietää, mikä on kaikkien koulumatkojen yhteispituus toisluokkalaisilla lapsilla, jotka ovat Jussin syntymäpäivillä (katso sivun alkuosasta). Kirjoitetaan soluun B16 seuraava kaava:

=DSUM(A1:E10;"koulumatka";A13:E14)

Syötetään 2 riville 14 luokka-sanan alle. Toisluokkalaisten koulumatkojen summa (1950) on nähtävissä.

DCOUNT (suom. TLASKE)

DCOUNT antaa niiden rivien (tietueiden) lukumäärän tietokannassa, jotka täyttävät hakuehdon ja joissa on numeroarvo.

Hakutoiminto tukee säännöllisiä lausekkeita. Voit syöttää esimerkiksi "all.*", jolloin löytyy kaikki merkkijonot, joiden alussa on "all". Jos haetaan merkkejä, joita käytetään säännöllisen lausekkeen koodeissa, merkkien eteen laitetaan \-merkki. Säännöllisten lausekkeiden käyttöasetus tehdään valinnassa Työkalut - Asetukset - LibreOffice Calc - Laskenta.

Syntaksi

DCOUNT(tietokanta; tietokannan kenttä; hakuehto)

Tietokannan kenttä -parametriksi voidaan syöttää kentän järjestysluku, jolloin 0 tarkoittaa koko kantaa, tai solu, jossa määritetään kentän nimi. Parametri ei saa olla tyhjä. Kun kenttään viitataan sarakeotsikoilla, käytetään lainausmerkkejä.

Esimerkki

Yllä olevassa esimerkissä on haluttu tietää, kuinka moni lapsista joutuu kulkemaan enemmän kuin 600 metriä kouluun. Vastaus saadaan soluun B16. Asetetaan kohdistin soluun B16. Kirjoitetaan lauseke =DCOUNT(A1:E10;0;A13:E14) soluun B16. Ohjattu funktioiden luonti -toiminto avustaa alueiden syöttämisessä.

Tietokanta on arvoalue, jolla toimitaan, otsakkeineen. Tässä tapauksessa se on A1:E10. Tietokannan kenttä määrittää kentän hakukriteerille, tässä tapauksessa koko tietokannan. Hakuehto on alue, johon voi asettaa haun parametrejä. Tässä tapauksessa se on A13:E14.

Sen selvittämiseksi, kuinka moni toisen luokan lapsista on yli 7-vuotias, poistetaan >600 solusta D14 ja kirjoitetaan 2 soluun B14 luokka-sanan alle. Jatketaan oikealle syöttämällä >7 soluun C14. Tulos on 2. Kaksi lasta on toisella luokalla ja on yli 7 vuoden ikäisiä. Koska molemmat ehdot ovat samalla rivillä, niiden väliin tulkitaan AND.


Related Topics

Calcin funktiot luokittain LibreOffice WikiHelp (englanniksi)