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äänWHERE
-toiminnon käyttöalueessa jaVALUEIN
-funktion toinen argumentti viittaa tietolähteeseen, joka ei palauta tietueita,VALUEIN
-funktion palauttama False-totuusarvo otetaan huomioon. LausekeWHERE(Vendors, VALUEIN(Vendors.VendGroup, VendGroups, VendGroups.VendGroup))
ei siis palauta toimittajatietueita, jos VendGroups-tietolähde ei palauta toimittajaryhmätietueita. - Jos
VALUEIN
-toimintoa käytetäänFILTER
-toiminnon käyttöalueessa jaVALUEIN
-funktion toinen argumentti viittaa tietolähteeseen, joka ei palauta tietueita,VALUEIN
-funktion palauttama False-totuusarvo ohitetaan. LausekeFILTER(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
Palaute
https://aka.ms/ContentUserFeedback.
Tulossa pian: Vuoden 2024 aikana poistamme asteittain GitHub Issuesin käytöstä sisällön palautemekanismina ja korvaamme sen uudella palautejärjestelmällä. Lisätietoja on täällä:Lähetä ja näytä palaute kohteelle