Bendrinti naudojant


VALUEINLARGE ER funkcija

Funkcija VALUEINLARGE nustato, ar nurodytas Int64ar Integer tipo įvestis atitinka bet kokią nurodyto elemento vertę nurodytame sąraše. Funkcija grąžina Būlio logikosvertę TEISINGA , jei nurodyta įvestis atitinka nurodytos išraiškos, vykdomos mažiausiai vienam nurodyto sąrašo įrašui, rezultatą. Kitu atveju grąžinama Būlio logikos vertė FALSE. Norėdami suprasti skirtumą su funkcija VALUEIN , žr. toliau šiame straipsnyje skyriuje Naudojimo pastaba.

Sintaksė

VALUEINLARGE (input, list, list item expression)

Argumentai

input: Laukas

Tinkamas įrašų sąrašo tipo duomenų šaltinio elemento maršrutas . Šio elemento vertė bus sugretinta.

list: Įrašų sąrašas

Tinkamas įrašų sąrašo duomenų tipo duomenų šaltinio maršrutas.

list item expression: išraiška

Tinkama sąlyginė išraiška nurodo išraišką, kuri nurodo vieną sugretinimui naudotiną konkretaus sąrašo lauką arba kurioje toks laukas yra.

Grįžties vertės

Bulio logikos

Gauta Būlio logikos vertė.

Naudojimo pastabos

Kai nurodyta įvestis rodo duomenų šaltinio elemento Int64arba Integer tipą; iškvietimas, kuris gali būti transliuojamas į tiesioginį SQL sakinį, nurodytas sąrašas konvertuojamas į laikiną SQL EXISTS JOIN lentelę ir sugretinimas atliekamas duomenų bazėje vykdant vieną užklausą. Kitu atveju ši funkcija veikia kaip VALUEIN funkcija.

Kai nurodyta įvestis nurodo duomenų šaltinio elementą, kuris sukurtas kaip prekė, kita nei Int64ir Integer tipo, dizaino metu įvyko klaida, VALUEINLARGE informuojant, kad funkcija netaikoma sukonfigūruotai ER išraiškai.

Kai vykdoma VALUEINLARGE funkcijos išraiška ir į šio vykdymo aprėptį naudojama daugiau nei viena laikina lentelė, įvyksta apdorojimo laiko klaida.

Pavyzdys

Apibrėžkite šiuos modelio susiejimo duomenų šaltinius:

  • Lentelės įrašų tipo duomenų šaltinyje .
    • Šis duomenų šaltinis nurodo Intrastat lentelę.
    • Parinktis Kryžminė įmonė nustatyta kaip Ne.
  • Apskaičiuoto lauko tipo InMemoryduomenų šaltinis.
    • Šiame duomenų šaltinyje yra išraiška WHERE (In, In.Port <> "").
  • Apskaičiuoto lauko tipo InFilteredduomenų šaltinis.
    • Šiame duomenų šaltinyje yra išraiška FILTER (In, VALUEINLARGE(In.RecId, InMemory, InMemory.RecId).

Kai duomenų šaltinis InFilterediškviejamas įmonės DEMF kontekste, programos duomenų bazėje sukuriama nauja laikina lentelė, į šią lentelę įterpiamas įrašų identifikavimo kodų atminties sąrašas, o siekiant grąžinti filtruotus Intrastat lentelės įrašus sugeneruojamas šis SQL sakinys.

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

Papildomi ištekliai

Loginės funkcijos

VALUEIN funkcijos