Dela via


VALUEINLARGE ER-funktioner

VALUEINLARGE-funktion bestämmer om specifik indata av typen Int64 eller heltal matchar något värde för en angiven objekt i den angivna listan. Funktionen returnerar ett booleskt värde på SANT om den angivna indata matchar resultatet av att köra det angivna uttrycket för minst en post i den angivna listan. Annars returnerar uttrycket värdet boolesk av FALSK. Mer information om skillnaden med VALUEIN-funktionen finns i avsnittet om användningsnotering senare i den här artikeln.

Syntax

VALUEINLARGE (input, list, list item expression)

Argument

input: Fält

Den giltiga sökvägen av en datakällaartikel för typen Postlista. Värdet för det här objektet kommer att matchas.

list: Post-lista

Den giltiga sökvägen av en datakälla för datatypen Postlista.

list item expression: Uttryck

Ett giltigt villkorsuttryck som antingen refererar till eller innehåller ett enskilt fält för den angivna listan som ska användas för matchningen.

Returvärden

Booleskt

Det resulterande booleska värdet.

Användningsanteckningar

När angiven inmatning representerar en Int64 eller typen heltal för ett datakällaartikel, kommer den angivna listan att konverteras till ett temporärt SQL-register och matchas i databasen genom att en enda EXISTS JOIN-fråga körs. I annat fall fungerar funktionen som VALUEIN-funktion.

När angivet indata representerar ett datakällaartikel som är utformat som ett annat objekt än Int64 och integer uppstår ett fel vid designtillfället som informerar dig om att VALUEINLARGE-funktionen inte kan användas för det konfigurerade ER-uttrycket.

När VALUEINLARGE-funktionsuttrycket körs och mer än en temporär tabell används i denna körnings omfång uppstår ett fel vid körning.

Exempel

Du definierar följande datakällor i din modellmappning:

  • Datakällan In för typen tabellposter.
    • Den här datakällan refererar till tabellen Intrastat.
    • Alternativet mellan företag är inställt på Nej.
  • InMemory-datakällan för typen beräknade fält.
    • Datakällan innehåller uttrycket WHERE (In, In.Port <> "").
  • InFiltered-datakällan för typen beräknade fält.
    • Datakällan innehåller uttrycket FILTER (In, VALUEINLARGE(In.RecId, InMemory, InMemory.RecId).

När datakällan InFiltered anropas under företagets DEMF skapas en ny temporär tabell i programdatabasen, som samlas in i minneslistan med post-ID-koder infogas i den här tabellen och följande SQL-sats skapas för att returnera filtrerade poster från Intrastat.

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)))

Ytterligare resurser

Logiska funktioner

VALUEIN-funktioner