Raporttipohjan rakenne

Yksi raporttipohja voi sisältää useita taulukoita (A), joihin voidaan kerätä eri tietoja. Yhteen taulukkoon taas voidaan määrittää useita listauksia (B). Raporttipohjassa voi olla vakiotekstejä, ja siihen voidaan hakea tietoa esimerkiksi rakennuksen tietokannasta tai järjestelmästä (C).

  • Taulukon solualueet
  • Taulukon määrittely
    • Tietoalueen määrittely
    • Tietoalueen määrittelyrivi
    • Sarakealueen määrittely
    • Tietorivien määrittely
    • Ryhmän otsikko
    • Ryhmän yhteenveto
  • Yksittäiset arvot
    • Tieto XML-tiedostosta
    • Tieto rakennuksen tietokannasta
    • Järjestelmäarvot
    • Vakioarvot
    • Monikieliset vakioarvot
  • Tulostusalue ja tulostusotsikot
  • Ylä- ja alatunniste

Taulukon solualueet

Taulukossa on erilaisia solualueita, esimerkiksi:

  • Taulukon määrittelyalue
  • Tietoalue
  • Tietoalueen osat: otsikko, sarakkeet, rivit, yhteenveto
  • Alueet, joihin haetaan sisältö rakennukselta tai järjestelmästä
  • Tulostusalue
  • Tulostusotsikot

Jokaisen solualueen käyttöalue tulee olla ko. taulukko. Varmista oikea käyttöalue Excelin Nimien hallinta (Name Manager) -työkalulla. Kun lisäät nimetyn solualueen, valitse sen käyttöalueeksi taulukon nimi Laajuus (Scope) -luettelosta.

Taulukon määrittely

Tiedot haetaan lähdetiedostosta taulukkoon määritetyille tietoalueille. Tietoalueita voi olla useita yhdessä taulukossa. Taulukon tietoalueiden lukumäärä ja nimet asetetaan taulukon määrittelyalueessa, jonka nimen tulee olla SHEETDEF. Määrittelyalueessa ovat käytettävissä seuraavat avainsanat, jotka erotetaan toisistaan puolipisteellä (;):

Avain Kuvaus Esimerkki
Ranges Tietoalueet, joissa tietoryhmät määritellään.

Erota useammat tietoalueet toisistaan pystyviivalla (|).

Ranges=RANGE1

Ranges=RANGE1|RANGE2

Page Sivun maksimirivimäärä, jonka jälkeen lisätään sivunvaihto. Page=54
PROTECT Taulukon suojaus. Arvo voi olla TRUE tai FALSE. PROTECT=TRUE

Tietoalueen määrittely

Tietoalueen nimen tulee olla sama kuin taulukon määrittelyalueessa annettu nimi, esimerkiksi RANGE1.

Tietoalueen määrittelyrivillä (A) kerrotaan, mitä lähdetiedostosta haetaan, miten listauksen rivit ryhmitellään, mikä on rivien järjestys jne. Sarakealueella (B) määritetään listauksen sarakkeet ja niiden otsikot. Tietorivialueelle (C) listataan lähdetiedostosta saatavat tiedot. Tietoalueeseen voi kuulua yhteenvetoalue (D) ja otsikkoalue (ei esimerkkikuvassa).

Tietoalueen määrittelyrivi

Määrittelyrivi koostuu useista XPath-lauseista ja ulkoasun määrittelyavaimista. Huomaa, että XPath-lauseissa kirjainkoko on merkitsevä. Avainsanojen järjestyksellä ei ole merkitystä. Käytettävissä ovat seuraavat avainsanat, jotka erotetaan toisistaan puolipisteellä (;):

Avain Kuvaus Esimerkki Toiminta
Element_group Perusryhmä, josta elementit kerätään. Avaimen arvo on XPath-lause. Useita kohteita voidaan kerätä erottamalla arvot pystyviivalla (|). Element_group=//WALLELEMENT; XPath
Elements Kerättävät elementit. Avaimen arvo on XPath -lause. Useita kohteita voidaan kerätä erottamalla arvot pystyviivalla (|). Elements=.//FRAMEPIECE/ATTRIBUTES;

Elements=//WALLEXT|//WALLINT;

XPath
Sort Lajittele tämän kentän mukaan. Useammat lajitteluehdot erotetaan pystyviivalla (|) Sort=./ATTRIBUTES/CODE|./ATTRIBUTES/LENGTH_CENTER; XPath
Order Aseta lajittelu nousevaan tai laskevaan järjestykseen Order=Descending;

Order=Ascending;

Ulkoasun määrittelyavain
Group_by Jaa data ryhmiin tämän kentän arvojen mukaan. Group_by=CODE; XPath
Group_order Aseta ryhmien lajittelu nousevaan tai laskevaan järjestykseen. Group_order=Descending;

Group_order=Ascending;

Ulkoasun määrittelyavain
Element_combine Yhdistele elementtiryhmät tämän XPath-kyselyn tuloksen perusteella. Element_combine=./ATTRIBUTES/ITEM_ID; XPath
Element_sort Lajittele elementtiryhmät tämän XPath-kyselyn tuloksen perusteella. Element_sort=./ATTRIBUTES/ITEM_ID; XPath
Element_order Aseta elementtiryhmien lajittelu nousevaan tai laskevaan järjestykseen. Element_order=Descending;

Element_order=Ascending;

Ulkoasun määrittelyavain
Group_Page_Break Jos arvo on TRUE, lisää tulostettaessa sivunvaihto jokaisen ryhmän jälkeen. Group_Page_Break=true; Ulkoasun määrittelyavain
Column_header Jos data on ryhmitelty, lisää otsikkorivi jokaiselle ryhmälle. Column_header=all; Ulkoasun määrittelyavain
Continuous_num Käytä jatkuvaa numerointia ryhmille, TRUE tai FALSE. Continuous_num=true; Ulkoasun määrittelyavain
Combine Yhdistele samanlaiset rivit, ja aseta yhdistettyjen rivien lukumäärä muuttujalle AUTO_COUNT. Combine=true; Ulkoasun määrittelyavain
Gap Tyhjät rivit ryhmien välissä. Gap = 2; Ulkoasun määrittelyavain
Page_break_style Jos arvo on TRUE, käytä viimeisen rivin tyyliä ennen sivunvaihtoa, ja ensimmäisen rivin tyyliä sivunvaihdon jälkeen. Page_break_style=true; Ulkoasun määrittelyavain
Page_break Jos arvo on TRUE, lisää tulostettaessa sivunvaihto jokaisen elementtiryhmän jälkeen. Page_break=true; Ulkoasun määrittelyavain
Write_empty_group Oletuksena järjestelmä ei kirjoita ryhmiä, jos niillä ei ole tietorivejä, ellei Write_empty_group -avaimen arvoksi ole asetettu TRUE. Write_empty_group=true; Ulkoasun määrittelyavain

Lisätietoa XPath-kielestä esimerkiksi täältä: https://www.w3.org/TR/xpath/

Esimerkki 1

Elements=//WALLINT/ATTRIBUTES;Group_by=CODE;Sort=LENGTH_CENTER;Order=Descending;Column_header =all;Combine=true;Gap=1

Avain Selitys
Elements=//WALLINT/ATTRIBUTES; Hae kaikki WALLINT-elementit, ja kunkin WALLINT-elementin lapsielementti ATTRIBUTES.
Group_by=CODE; Ryhmittele tiedot ATTRIBUTES-elementin lapsielementin CODE mukaan.
Sort=LENGTH_CENTER;Order=Descending; Järjestä ryhmän rivit lapsielementin LENGTH_CENTER mukaan laskevaan järjestykseen.
Column_header =all; Lisää jokaiselle ryhmälle otsikkorivi.
Combine=true; Yhdistele samanlaiset rivit, ja aseta yhdistettyjen rivien lukumäärä sarakkeeseen AUTO_COUNT.
Gap=1; Lisää ryhmien väliin tyhjä rivi.

Lopullinen listaus:

Esimerkki 2

Element_group=//WALLELEMENT;Elements=.//FRAMEPIECE/ATTRIBUTES;Element_sort=./ATTRIBUTES/ITEM_ID; Group_by=CODE;Sort=ITEM_ID|LENGTH;Order=Descending;Column_header =all;Combine=true;Gap=1;Page_break=true;

Avain Selitys
Element_group=//WALLELEMENT; Hae kaikki WALLELEMENT-elementit.
Elements=.//FRAMEPIECE/ATTRIBUTES; Hae kunkin WALLELEMENT-elementin lapsielementti FRAMEPIECE, ja sen lapsielementti ATTRIBUTES.
Element_sort=./ATTRIBUTES/ITEM_ID; Lajittele WALLELEMENT-elementin lapsielementin ATTRIBUTES/ITEM_ID mukaan.
Group_by=CODE; Ryhmittele näin syntyvät osat FRAMEPIECE/ATTRIBUTES-elementin lapsielementin CODE mukaan.
Sort=ITEM_ID|LENGTH;Order=Descending; Järjestä ryhmän rivit FRAMEPIECE/ ATTRIBUTES-elementin lapsielementin ITEM_ID ja LENGTH mukaan laskevaan järjestykseen.
Column_header =all; Lisää jokaiselle ryhmälle otsikkorivi.
Combine=true; Yhdistele samanlaiset rivit, ja aseta yhdistettyjen rivien lukumäärä sarakkeeseen AUTO_COUNT.
Gap=1; Lisää ryhmien väliin tyhjä rivi.
Page_break=true; Lisää tulostettaessa sivunvaihto jokaisen elementtiryhmän jälkeen.

Lopullinen listaus:

Sarakealueen määrittely

Sarakealueen nimen tulee olla <data_range_name>_COLUMNS, esimerkiksi RANGE1_COLUMNS.

Ensimmäisellä rivillä ovat XPath-lauseet, joilla tieto haetaan lähteestä. Toisella rivillä määritetään lopullisessa raportissa näkyvien sarakkeiden otsikot.

Erikoissarakkeita ovat:

AUTO_ITEM Rivien automaattinen numerointi
AUTO_COUNT Yhdistettyjen rivien lukumäärä. Katso avain Combine.

Tietorivien määrittely

Tietorivien alueen nimen tulee olla <data_range_name>_DATA, esimerkiksi RANGE1_DATA. Tietorivialueen tulee olla kolme riviä korkea.

Tietorivialueen solu voi sisältää kaavan. Kaava voi viitata vain saman rivin soluihin, esimerkiksi =E10*G10/1000.

Ryhmän otsikko

Ryhmällä voi olla otsikkoalue. Sen nimen tulee olla <data_range_name>_GROUP_HEADER. Ryhmän otsikko voi sisältää XPath-lauseen tai merkkijonon. Merkkijono tulee erottaa XPath-lauseesta ympäröimällä se lainausmerkeillä (").

Ryhmän yhteenveto

Ryhmällä voi olla yhteenvetoalue. Sen nimen tulee olla <data_range_name>_SUMMARY. Yhteenvetoalue voi sisältää kaavoja. Kaavat voivat viitata kaikkiin tietoalueen riveihin, esimerkiksi =SUM(I10:I12).

Yksittäiset arvot

Taulukkoon voidaan hakea myös muuta tietoa kuin XML-tiedostosta kerättävät elementit.

  • Muuta tietoa XML-tiedostosta
  • Tietoa rakennuksen tietokannasta
  • Järjestelmäarvoja
  • Vakioarvoja kuten tekstiä

Tieto XML-tiedostosta

Jos lähteenä toimivasta XML-tiedostosta haetaan muuta tietoa kuin kerättäviä elementtejä, alueen nimen tulee olla XML_<unique_name>. Nimetyn alueen solun sisällön tulee olla XPath-lause, jolla arvo haetaan XML-tiedostosta. Esimerkiksi, jos tarvitaan päivämääräelementti DATE, alueen nimi voi olla XML_DATE ja solun sisältö XPath-lause //DATE.

Tieto rakennuksen tietokannasta

Rakennuksen tietoja voidaan lisätä nimeämällä alue muodossa PROREG_<unique_name>. Nimetyn alueen solujen sisältö haetaan tietokannan kentistä. Esimerkiksi, jos tarvitaan rakennuksen nimi, alueen nimi voi olla PROREG_PROJ_ID, ja solun sisältö PROJ_ID.

Järjestelmäarvot

Järjestelmätietoja voidaan lisätä nimeämällä alue muodossa SYSTEM_<unique_name>. Nimetyn alueen solun sisällön tulee vastata jotakin seuraavista esimääritellyistä arvoista:

  • USER
  • COMPUTER
  • DATE
  • DATE_LOCAL
  • DATE_PROJECT
  • APPLICATION
  • REVISION
  • REVISION_LONG
  • TIME

Vakioarvot

Nimetty alue voi sisältää myös vakioarvoja. Vakioarvo voi olla esimerkiksi teksti, joka kirjoitetaan lainausmerkkien sisään, ja tulostetaan sellaisenaan lopulliseen taulukkoon (lainausmerkit poistetaan).

Nimetyn alueen ulkopuolella lainausmerkkejä ei tarvita.

Monikieliset vakioarvot

Vakioarvo voidaan määrittää monikieliseksi, jolloin samasta template-taulukosta voidaan tuottaa erikielisiä raportteja. Käyttäjä valitsee minkä kielisen raportin haluaa muodostaa.

Syntaksi on:

"lang="xx"(<xx-kielinen teksti>)|lang="yy"(<yy-kielinen teksti>)|…"

xx ja yy ovat standardin mukaisia koodeja, esimerkiksi fi tai en (http://www.w3schools.com/tags/ref_language_codes.asp). Esimerkki:

"lang="en"(Count)|lang="fi"(Lukumäärä)"

Tulostusalue ja tulostusotsikot

Voit määrittää taulukkoon tulostusalueen ja tulostusotsikot Excelin Sivun asettelu (Page Layout) -välilehden toiminnoilla.

Excel lisää solualueet Print_Area ja Print_Titles automaattisesti Nimien hallinta -luetteloon. Voit myös määrittää alueet Nimien hallinta -toiminnolla kuten muutkin nimetyt solualueet.

Ylä- ja alatunniste

Raporttipohjaan voidaan lisätä ylä- ja alatunniste tavalliseen tapaan Excelin toiminnoilla. Ne voivat sisältää sivunumeron, päivämäärän ja muut Excelissä käytettävissä olevat osat.

Voit lisätä ylä- ja alatunnisteeseen myös dynaamista tekstiä. Syntaksi on:

#<source_prefix><expression>#

Etuliite <source_prefix> on sama kuin yksittäisiä arvoja lisättäessä: SYSTEM_, PROREG_ ja XML_.

Esimerkiksi:

#PROREG_PROJ_ID# lisää PROREG-tietokannan kentän PROJ_ID arvon.