VALUEINLARGE ER-funksjonen
VALUEINLARGE
-funksjonen bestemmer om de angitte inndataene av typen Int64 eller Heltall samsvarer med en verdi for et angitt element i den angitte listen. Funksjonen returnerer verdien boolsk som SANN hvis de angitte inndataene samsvarer med resultatet av å kjøre det angitte uttrykket for minst én post i den angitte listen. Hvis ikke returneres den boolske verdien USANN. For å forstå forskjellen fra VALUEIN
-funksjonen kan du se i delen Bruksmerknad senere i denne artikkelen.
Syntaks
VALUEINLARGE (input, list, list item expression)
Argumenter
input
: Felt
Den gyldige banen til et datakildeelement av Postliste-typen. Verdien for dette elementet samsvares.
list
: Postliste
Den gyldige banen til en datakilde av Postliste-datatypen.
list item expression
: Uttrykk
Et gyldig betingelsesuttrykk som enten henviser til eller inneholder ett enkelt felt i den angitte listen som skal brukes for den samsvarende.
Returverdier
Boolsk
Den resulterende boolske verdien.
Bruksnotater
Når de angitte inndataene representerer en Int64- eller Heltall-type for et datakildeelement, et kall som kan oversettes til en direkte SQL-setning, konverteres den angitte listen til en midlertidig SQL-tabell, og samsvaret utføres i databasen ved å utføre én enkelt EXISTS JOIN
-spørring. Hvis ikke fungerer denne funksjonen som VALUEIN
-funksjonen.
Når de angitte inndataene representerer et datakildeelement som er utformet som et annet element enn typen Int64 og Heltall, oppstår det en feil under utformingen der du blir informert om at VALUEINLARGE
-funksjonen ikke kan brukes for det konfigurerte ER-uttrykket.
Når VALUEINLARGE
-funksjonsuttrykket kjøres og mer enn én midlertidig tabell brukes i omfanget av denne utførelsen, oppstår det en kjøretidsfeil.
Eksempel
Du definerer de følgende datakildene i modelltilordningen:
- I-datakilden for Tabellposter-typen.
- Denne datakilden refererer til Intrastat-tabellen.
- Alternativet Kryssfirma er satt til Nei.
- InMemory-datakilden for Beregnet felt-typen.
- Denne datakilden inneholder uttrykket
WHERE (In, In.Port <> "")
.
- Denne datakilden inneholder uttrykket
- InFiltered-datakilden for Beregnet felt-typen.
- Denne datakilden inneholder uttrykket
FILTER (In, VALUEINLARGE(In.RecId, InMemory, InMemory.RecId)
.
- Denne datakilden inneholder uttrykket
Når datakilden InFiltered kalles i konteksten for firmaet DEMF, opprettes det en ny midlertidig tabell i programdatabasen, den innsamlede minnelisten for post-ID-koder settes inn i denne tabellen, og følgende SQL-setning genereres for å returnere filtrerte poster for Intrastat-tabellen.
SELECT … from Intrastat T1
WHERE ((T1.PARTITION=?) AND (T1.DATAAREAID IN (N'DEMF'))) AND
EXISTS (SELECT 'x' FROM tempdb."DBO".? T2 WHERE ((T2.PARTITION=?) AND (T1.RecId=T2.RecId)))