Jaa


Sähköisen raportoinnin kaavakieli

Sähköinen raportointi (ER) tarjoaa tehokkaan tietojenmuunnoskokemuksen. Kieli, jota käytetään ilmaisemaan vaaditut tietojen manipuloinnit ER -kaavojen suunnittelutoiminnossa muistuttaa kaavan kieltä Microsoft Excelissä.

Perussyntaksi

ER-lausekkeet voivat sisältää joitakin seuraavia elementtejä tai kaikki seuraavat elementit:

Vakiot

Voit käyttää lausekkeiden suunnittelussa tekstivakioita ja numeerisia vakioita (arvoja, joita ei lasketa). Esimerkiksi lauseke VALUE ("100") + 20 käyttää numeerista vakiota 20 ja merkkijonovakiota "100" ja se palauttaa numeerisen arvon 120.

ER-kaavojen suunnittelutoimintoa tukee ohjausjaksoja. Niinpä voitkin määrittää lausekkeen merkkijonosta, jota on käsiteltävä eri tavalla. Lauseke "Leo Tolstoy ""War and Peace"" Volume 1" palauttaa esimerkiksi tekstimerkkijonon Leo Tolstoy "War and Peace" Volume 1.

Operaattorit

Seuraavassa taulukossa on aritmeettisia operaattoreita, joita voi käyttää matemaattisten perusoperaattoreiden, kuten lisäyksen, vähennyksen sekä kerto- ja jakolaskun suorittamiseen.

Käyttäjä Merkitys Esimerkki
+ Lisäys 1+2
- Vähennys, negaatio 5-2, -1
* Kertolasku 7\*8
/ Jaosto 9/3

Seuraavassa taulukossa on tuetut vertailuoperaattorit. Näillä operaattoreilla voi verrata kahta arvoa.

Käyttäjä Merkitys Esimerkki
= Equal X=Y
> Greater than X>Y
< Less than X<Y
>= Suurempi tai yhtä suuri kuin X>=Y
<= Pienempi tai yhtä suuri kuin X<=Y
<> Ei sama kuin X<>Y

Lisäksi &-merkkiä voi käyttää tekstin ketjutusoperaattorina. Tällä tavoin yksittäiseen tekstikappaleeseen voi liittää tai yhdistää yhden tekstimerkkijonon tai useita merkkijonoja.

Käyttäjä Merkitys Esimerkki
& Liitä "Nothing to print:" & " " & "no records found"

Operaattoreiden käsittelyjärjestys

Järjestys, jossa yhdistelmälausekkeen osat lasketaan, on tärkeä. Esimerkiksi lausekkeen 1 + 4 / 2 tulos on erilainen sen mukaan, suoritetaanko ensi yhteenlasku- vai jakotoiminto. Sulkeiden avulla voit määrittää, miten lauseke lasketaan. Jos haluat esimerkiksi osoittaa, että yhteenlaskutoiminto suoritetaan ensin, voit muuttaa edeltävän lausekkeen muotoon (1 + 4) / 2. Jos et selkeästi ilmaise lausekkeen toimintojen suoritusjärjestystä, järjestys perustuu oletusarvoiseen tukioperaattoreiden määrittämään käsittelyjärjestykseen. Seuraavassa taulukossa kuhunkin operaattoriin liitetty käsittelyjärjestys. Operaattorit, joilla on korkeampi käsittelyjärjestys (esimerkiksi 7), suoritetaan ennen operaattoreita, joilla on alempi käsittelyjärjestys (esimerkiksi 1).

Järjestys Operaattorit Syntaksi
7 Ryhmittely ( … )
6 Jäsenen käyttöoikeus … . …
5 Funktiokutsu … ( … )
4 Kertova … * …
… / …
3 Lisä … + …
… - …
2 Vertailu … < …
… <= …
… => …
… > …
… = …
… <> …
1 Erottelu … , …

Jos lausekkeessa on useita peräkkäisiä operaattoreita, joilla on sama tärkeysjärjestys, kyseiset operaattorit suoritetaan vasemmalta oikealle. Esimerkiksi lauseke 1 + 6 / 2 \* 3 > 5 palauttaa arvon tosi. Käyttämällä sulkeita lausekkeiden haluttu laskentajärjestys voidaan ilmaista selkeästi, mikä myös helpottaa lausekkeiden lukemista ja ylläpitämistä.

Viitteet

Kaikkia nykyisen ER-komponentin tietolähteitä, jotka ovat käytettävissä lausekkeen suunnittelun yhteydessä, voidaan käyttää nimettyinä viitteinä. Nykyinen ER-osa voi olla mallin yhdistämismääritys tai muoto. Esimerkiksi nykyinen ER-mallin määritys sisältää ReportingDate-tietolähteen, joka palauttaa Päivämäärä/aika-tietotyypin arvon. Jotta kyseinen arvo saadaan muotoiltua oikein luotavassa asiakirjassa, siihen voidaan viitata lausekkeessa seuraavasti: DATETIMEFORMAT (ReportingDate, "dd-MM-yyyy").

Kaikkien niiden viittaavan tietolähteen nimen merkkien, jotka eivät ole kirjaimia, edessä on oltava edessään puolilainausmerkki ('). Kaikilla viittaavan tietolähteen nimillä, jotka sisältävät ainakin yhden merkin, joka ei ole kirjain, on oltava puolilainausmerkkien sisällä. Näitä muita kuin kirjaimia voivat olla esimerkiksi välimerkit tai muut kirjoitetut merkit. Seuraavassa on muutamia esimerkkejä:

  • Today's date & time -tietolähteeseen on viitattava ER-lausekkeessa seuraavasti: 'Today''s date & time'.
  • Asiakkaat-tietolähteen name()-menetelmän on viitattava ER-lausekkeeseen seuraavasti: Customers.'name()'.

Jos sovelluksen tietolähteiden menetelmillä on parametreja, kyseiset menetelmät kutsutaan seuraavalla syntaksilla:

  • Jos Järjestelmä-tietolähteen, jossa Merkkijono-tietotyypin parametri on EN-US, isLanguageRTL-menetelmään on viitattava ER-lausekkeessa seuraavasti: System.isLanguageRTL("EN-US").
  • Lainausmerkit eivät ole pakollisia, kun menetelmän nimessä on vain aakkosnumeerisia merkkejä. Niitä on kuitenkin käytettävä taulun menetelmässä, jos hakasulkeet sisältyvät nimeen.

Kun Järjestelmä-tietolähde lisätään ER-yhdistämismääritykseen, jossa on viittauksena Yleinen-sovellusluokka, lauseke System.isLanguageRTL("EN-US ") palauttaa totuusarvonEPÄTOSI. Muokattu lauseke System.isLanguageRTL("AR") palauttaa totuusarvontosi.

Voit rajoittaa tapaa, jolla arvot siirretään tämän tyyppisen menetelmän parametreihin:

  • Vain vakioita voi siirtää tämän tyyppisiin menetelmiin. Vakioiden arvot määritetään suunnitteluvaiheessa.
  • Tämän tyypin parametrit tukevat alkeellisia (perus)tietotyyppejä. Alkukantaisia tietotyyppejä ovat esimerkiksi kokonaisluku, reaaliluku, totuusarvo ja merkkijono.

Polut

Kun lauseke viittaa rakenteelliseen tietolähteeseen, polun määritettä voidaan käyttää valittaessa tietolähteen tietty primitiivinen elementti. Piste (.) -merkkiä käytetään erottamaan rakenteisen tietolähteen yksittäiset elementit. Esimerkiksi nykyinen ER-mallin määritys sisältää InvoiceTransactions-tietolähteen, joka palauttaa tietueluettelon. InvoiceTransactions-tietuerakenne sisältää AmountDebit- ja AmountCredit-kentät, joista kumpikin palautta numeerisia arvoja. Tämän vuoksi voit suunnitella seuraavan lausekkeen laskutettavan summan laskemista varten: InvoiceTransactions.AmountDebit - InvoiceTransactions.AmountCredit. InvoiceTransactions.AmountDebit-rakenne tässä lausekkeessa on polku, jota käytetään AmountDebit-kentän InvoiceTransactions-tietolähteen tietueluettelo-tyyppiin pääsemiseksi.

Suhteellinen polku

Jos rakenteisen tietolähteen polku alkaa at-merkillä (@), se on suhteellinen polku. At-merkki näytetään käytettävän hierarkkisen puurakenteen absoluuttisen polun jäljellä olevan osan sijasta. Seuraavassa kuvassa on esimerkki. Tässä absoluuttinen polku Ledger.'accountingCurrency()' ilmaisee, että kirjanpitovaluutan arvo kirjanpidon tietolähteestä syötetään AccountingCurrency-kenttään tietomallissa.

Esimerkki absoluuttisesta polusta ER-mallin yhdistämismääritysten suunnittelusivulla.

Seuraavassa kuvassa oleva esimerkki osoittaa, miten suhteellinen polku on käytössä. Suhteellinen polku @.AccountNum ilmaisee, että AccountNum-kentän Intrastat-tietolähteen (joka näkyy tietomallin hierarkkisen puun AccountNum-kentän yläpuolella) käytetään syöttämään asiakkaan tai toimittajan tilinumero tietomallin AccountNum-kenttään.

Esimerkki relatiivisesta polusta ER-mallin yhdistämismääritysten suunnittelusivulla.

Jäljellä oleva osa absoluuttisesta polusta näkyy myös ER kaavaeditorissa.

ER-kaavan suunnittelijasivun absoluuttisen polun jäljellä oleva osa.

Lue lisätietoja kohdasta Suhteellisen polun käyttäminen ER-mallien ja-muotojen tietojen sidonnoissa.

Funktiot

ER:n sisäänrakennettuja funktioita voidaan käyttää ER-lausekkeissa. Kaikkia lausekekontekstin (kuten nykyinen ER-mallin määritys tai ER-muoto) tietolähteitä voidaan käyttää kutsufunktioiden parametreina kutsufunktioargumenttien luettelon mukaisesti. Myös vakioita voidaan käyttää kutsufunktioiden parametreina. Esimerkiksi nykyinen ER-mallin määritys sisältää InvoiceTransactions-tietolähteen, joka palauttaa tietueluettelon. InvoiceTransactions-tietuerakenne sisältää AmountDebit- ja AmountCredit-kentät, joista kumpikin palautta numeerisia arvoja. Voit siis laskea laskutetun määrän suunnittelemalla seuraavan lausekkeen, jossa käytetään sisäänrakennettua ER-pyöristystoimintoa: ROUND (InvoiceTransactions.AmountDebit - InvoiceTransactions.AmountCredit, 2).

Kun suunnittelet ER-mallien yhdistämismäärityksiä ja ER-raportteja, voit käyttää ER-funktioita seuraavista luokista:

Toimintojen luettelon laajennus

ER:n avulla on mahdollista laajentaa luetteloa toiminnoista, joita käytetään ER-lausekkeissa. Tähän tarvitaan jonkin verran suunnittelutyötä. Lisätietoja on kohdassa Sähköisen raportoinnin (ER) toimintojen luettelon laajentaminen.

Yhdistelmälausekkeet

Voit luoda yhdistelmälausekkeita, jotka käyttävät eri luokkien funktioita edellyttäen, että tietotyypit vastaavat toisiaan. Kun käytät funktioita yhdessä, vastaa tulosteen tietotyyppiä yhdestä toiminnosta toisen funktion edellyttämän syötetieto tyypin mukaan. Jos esimerkiksi haluat välttää mahdollisen "luettelo-tyhjä"-virheen kentän sidonnassa ER-muotoelementtiin, yhdistä Luettelo-luokan funktiot loogisen-luokan funktiolla, kuten seuraavassa esimerkissä näytetään. Tässä kaavassa käytetään IF-funktiota, kun testataan, onko IntrastatTotals-luettelo tyhjä, ennen kuin se palauttaa vaaditun koosteen arvon kyseisestä luettelosta. Jos IntrastatTotals-luettelo on tyhjä, kaava palauttaa arvon 0 (nolla).

IF(ISEMPTY(IntrastatTotals), 0.0, IntrastatTotals.aggregated.'$AmountMSTRounded') 

Useita ratkaisuja

Usein voit saada samat tietojen muunnoksen tulokset monella tavalla käyttämällä eri luokkien tai eri toimintojen funktioita samasta luokasta. Esimerkiksi edellinen lauseke voidaan määrittää myös käyttämällä MÄÄRÄ-funktiota luettelo-luokasta.

IF(COUNT (IntrastatTotals)=0, 0.0, IntrastatTotals.aggregated.'$AmountMSTRounded') 

Lisäresurssit

Sähköisen raportoinnin yleiskatsaus

Sähköisen raportoinnin kaavojen suunnittelutoiminto

Sähköisen raportoinnin toimintoluettelon laajentaminen

Tuetut primitiiviset tietotyypit

Tuetut yhdistelmätietotyypit