EQL-editori
EQL-editori on erillinen näkymä, jota käytetään Efecte Query Language (EQL) -komentojen muokkaamiseen. EQL on kyselykieli, joka muistuttaa perinteisissä relaatiotietokannoissa käytettyä SQL:ää. EQL-editorin avulla tapahtuu EQL-kyselyjen muokkaaminen ilman syvällistä tietämystä kielen sisäisestä toiminnasta ja merkintätavoista.
EQL-editorin käyttäminen
EQL-editorin ulkoasu ja kentät voivat vaihdella hieman sen mukaan, mitä toimintoa sillä parametrisoidaan, mutta editorissa on myös joitakin yhteisiä kenttiä. Tiettyihin toimintoihin liittyvät kentät on selitetty niiden omissa dokumenteissa, kun taas yhteiset kentät selitetään tässä. Alla on kuva siitä, miltä EQL-editori näyttää määritettäessä liittyvän tietokortin hakua. Kaikkien EQL-editoria käyttävien toimintojen yhteisiä kenttiä ovat kohdemalli, hakuehdot ja lajittelu.
#target# -makro on tarkoitettu vain liittyvän haun käsittelijälle. #referrer# -makroa tulee käyttää muissa tapauksissa.
Hakuehtojen muokkaaminen

Kohdemalli on tarpeen, jos viiteattribuutti voi viitata useisiin malleihin ja hakutulokset suodatetaan kohdemallien eri attribuuttien perusteella. Jos kaikilla viitatuilla malleilla on samat attribuuttikoodit, tämän arvon voi asettaa arvoksi All. All-arvoa voidaan käyttää myös silloin, kun attribuutti viittaa vain yhteen malliin.
Hakusidonnat koostuvat kolmesta osasta: vasemman puolen muuttujasta, hakuoperaattorista ja oikean puolen muuttujasta. Vasemman puolen muuttuja viittaa kohdemalliin ja oikean puolen muuttuja lähdemalliin. Molemmat muuttujat voivat olla viittaavan tietokortin attribuuttiarvoja, mahdollisten viitattujen tietokorttien arvoja, makroja tai määriteltyjä vakioita.
Attribuuttikoodit ja makrot erotetaan toisistaan eri merkeillä. Kohdemallien attribuuttikoodit ympäröidään $ -merkeillä, ja muut makrot, mukaan lukien referrer, ympäröidään # -merkeillä.
Lajitteluasetuksen avulla hakutulokset voidaan lajitella attribuuttien arvojen mukaan. Jos Order by-rivejä on useita, niitä sovelletaan hakutuloksiin annetussa järjestyksessä. Tämä tarkoittaa, että jos ensimmäisellä asetuksella on useita tuloksia, kyseinen ryhmä lajitellaan toisen asetuksen mukaan.
Lisää esimerkkejä löytyy dokumentin lopusta.
Taulukko 1. Makrot ja tietokorttien arvot
Seuraavassa taulukossa on tietoa makroista, joita voidaan käyttää muuttujina.
| Nimi | Kuvaus |
|---|---|
$attributeCode1:attributeCode2:..:attributeCodeN$ |
Attribuuttien arvot, kohde (viitattu)-malleissa voidaan käyttää ehtoina attribuuttikoodien avulla, jotka ympäröidään $-merkeillä ja erotetaan :-merkillä, jos arvot haetaan viittauksista. |
|
|
#target#-makroa voidaan käyttää liittyvässä haussa osoittamaan monivalintaviittauksen valittuun arvoon. |
|
|
Lähde ( |
|
|
Makrot, jotka alkavat sanalla "any", voidaan käyttää suodattimena kohdemallin tietyn tietotyypin mille tahansa attribuutille. Esimerkiksi #anystring# hakee kaikkien kohdemallin merkkijonoattribuuttien arvoja. #anyattribute# vastaa tavallista viite- tai pikahakua. |
now |
now-avainsanaa voidaan käyttää oikean puolen operaattorina päivämääräattribuuteille. Avainsanan jälkeen voi olla - tai + -merkki, luku ja aikayksikkö (esim. m kuukaudelle, h tunnille, d päivälle). Esimerkiksi arvo voi olla now+2d (kaksi päivää nykyisestä päivämäärästä). |
|
|
Käyttäjämakroja voidaan käyttää oikean puolen muuttujana. #userId# korvataan nykyisen käyttäjän käyttäjätunnuksella. #userName# korvataan nykyisen käyttäjän tietokortin nimellä (varalla käyttäjätunnus). #user# korvataan viittauksella nykyisen käyttäjän tietokorttiin. #user:code:code# korvataan nykyisen käyttäjän tietokortin kentän arvolla. |
Taulukko 2. Hakuoperaattorit
Seuraavassa taulukossa on tietoa hakuoperaattoreista, joita voidaan käyttää EQL-komennoissa.
| Nimi | Kuvaus |
|---|---|
= |
Yhtä suuri kuin. |
!= |
Eri suuri kuin. |
like |
Like, * toimii jokerimerkkinä. |
not like |
Not like, * toimii jokerimerkkinä. |
>= |
On yhtä suuri tai suurempi. |
> |
On suurempi. |
<= |
Yhtä suuri tai pienempi. |
< |
Pienempi kuin. |
in |
Arvo on määritellyssä listassa, kohteet erotetaan ; (puolipisteellä). EQL:ssä arvot näkyvät muodossa ('option 1','option 2'). |
not in |
Arvo ei ole määritellyssä listassa, kohteet erotetaan ; (puolipisteellä). |
between |
Arvo on kahden arvon välissä. Editorissa ala- ja yläarvo erotetaan ; (puolipisteellä) (esim. lo;hi). EQL:ssä arvot näkyvät muodossa 'lo' ja 'hi' |
not between |
Arvo ei ole kahden arvon välissä, ala- ja yläarvo erotetaan ; (puolipisteellä). |
is null |
Arvoa ei ole olemassa eli tietokortilla ei saa olla arvoa kyseiselle attribuutille. |
is not null |
Arvo on olemassa eli tietokortilla on oltava arvo kyseiselle attribuutille. |
On yleensä hyvä lisätä hakuehto deleted = 0 ja hidden = 0, muuten hakutulokset sisältävät roskakorissa olevia ja piilotettuja tietokortteja.
Taulukko 3. EQL-esimerkkejä
Seuraavassa taulukossa on valikoima EQL-esimerkkiehtoja.
| Nimi | Kuvaus |
|---|---|
$computer_loc$ = #referrer:location#
|
Kohdekorttien $computer_loc$-attribuutin arvon on vastattava nykyisen tietokortin $location$-attribuuttia |
$invoicing_date$ = now+1d |
$invoicing_date$-attribuutin arvon on oltava huomisen päivämäärä |
#anydate# = now |
Minkä tahansa päivämääräattribuutin arvon on osoitettava nykyistä päivämäärää |
$comp_price$ between 200;300 |
Huomio: EQL:ssä tämä näkyy muodossa |
$comp_loc$ in Room a; Room b |
Huomio: EQL:ssä tämä näkyy muodossa |
folder.idCode = ‘ExampleCode’ |
Kansiokoodi-ominaisuuden arvon tulee olla yhtä suuri kuin ‘ExampleCode’
|
Table of Contents