Jaa


FILTER ER-toiminto

FILTER funktio palauttaa määritetyn luettelon tietueluettelon arvoksi sen jälkeen, kun kyselyä on muutettu niin, että se suodattaa määritetyn ehdon.

Syntaksi

FILTER (list, condition)

Argumentit

list: Tietueluettelo

Tietueluettelo-tietotyypin tietolähteen kelvollinen polku.

condition: Totuusarvo

Kelvollinen ehtolauseke, jota käytetään määritetyn luettelon tietueiden suodattamiseen.

Palautusarvot

Tietueluettelo

Tuloksena oleva tietueluettelo.

Käyttöhuomautukset

Funktio eroaa WHERE-funktiosta, koska määritettyä ehtoa käytetään tietokannan tasolla kaikkiin Taulukkotietue-tyypin elektronisen raportoinnin (ER) tietolähteisiin. Luettelo ja ehto voidaan määrittää tauluja ja suhteita käyttämällä.

Jos jompikumpi tai molemmat tälle toiminnolle määritetyt argumentit (list ja condition) eivät salli tämän pyynnön kääntyä suoraan SQL-puheluun, suunnitteluaikaan tulee poikkeus. Tämä poikkeus ilmoittaa käyttäjälle, että joko list tai condition ei voi käyttää tietokannan kyselyä.

Muistiinpano

FILTER-toiminnon toiminta eroaa WHERE-funktiosta, kun valintaehdot määritetään VALUEIN-toiminnon avulla.

  • Jos VALUEIN-toimintoa käytetään WHERE-toiminnon käyttöalueessa ja VALUEIN-funktion toinen argumentti viittaa tietolähteeseen, joka ei palauta tietueita, VALUEIN-funktion palauttama False-totuusarvo otetaan huomioon. Lauseke WHERE(Vendors, VALUEIN(Vendors.VendGroup, VendGroups, VendGroups.VendGroup)) ei siis palauta toimittajatietueita, jos VendGroups-tietolähde ei palauta toimittajaryhmätietueita.
  • Jos VALUEIN-toimintoa käytetään FILTER-toiminnon käyttöalueessa ja VALUEIN-funktion toinen argumentti viittaa tietolähteeseen, joka ei palauta tietueita, VALUEIN-funktion palauttama False-totuusarvo ohitetaan. Lauseke FILTER(Vendors, VALUEIN(Vendors.VendGroup, VendGroups, VendGroups.VendGroup)) palauttaa siis kaikki toimittajatietueet Vendors-tietolähteestä, vaikka VendGroups-tietolähde ei palauta toimittajaryhmätietueita.

Esimerkki 1

Jos Toimittaja on määritetty VendTable-tauluun viittaavaksi ER-tietolähteeksi, lauseke FILTER (Vendors, Vendors.VendGroup = "40") palauttaa luettelon toimittajista, jotka kuuluvat vain toimittajaryhmään 40.

Esimerkki 2

Jos Toimittaja määritetään VendTable-tauluun viittaavaksi ER-tietolähteeksi ja ER-tietolähteeksi määritetty parmVendorBankGroup palauttaa String-tietotyypin arvon, FILTER ( Vendor.'<Relations'.VendBankAccount, Vendor.'<Relations'.VendBankAccount.BankGroupID = parmVendorBankGroup) palauttaa luettelon vain niistä toimittajatileistä, jotka kuuluvat tiettyyn pankkiryhmään.

Esimerkki 3

Syötät Lasketun kenttä-tyypin DS-tietolähteen, ja se sisältää lausekkeen SPLIT ("A,B,C", ","). Kirjoita sitten toinen lauseke FILTER( DS, DS.Value = "B"). Kun yrität tallentaa lausekkeen ER-kaavan suunnittelutoimintoon, seuraava poikkeus hylätään: "Vahvistusvirhe: suodatusfunktion luettelolauseke ei ole kyseltävä."

Lisäresurssit

Luettelotoiminnot