Udostępnij za pośrednictwem


Funkcja VALUEINLARGE ER

Funkcja VALUEINLARGE określa, czy podane dane wejściowe typu Int64 lub Integer pasują do którejkolwiek wartości określonego elementu na podanej liście. Zwraca ona wartość logicznąTRUE, jeśli określone dane wejściowe pasują do wyniku uruchamiania określonego wyrażenia dla co najmniej jednego rekord z danej listy. W przeciwnym wypadku zwraca ona wartość logicznąFALSE. Aby zrozumieć różnicę związaną z funkcją VALUEIN, zapoznaj się z sekcją Wskazówki użycia, znajdującą się w dalszej części tego artykułu.

Składnia

VALUEINLARGE (input, list, list item expression)

Argumenty

input: Pole

Prawidłowa ścieżka elementu źródła danych o typie danych Lista rekordów. To z wartością tego elementu będzie dokonywane porównanie.

list: Lista rekordów

Prawidłowa ścieżka elementu źródła danych o typie danych Lista rekordów.

list item expression: Wyrażenie

Prawidłowe wyrażenie warunkowe, które wskazuje na albo zawiera pojedyncze pole określonej listy, która ma być używana do porównania.

Wartości zwracane

Wartość logiczna

Wyjściowa wartość logiczna.

Uwagi dotyczące użytkowania

Jeśli określone dane reprezentują typ elementu źródła danych taki jak Int64 lub Integer, do którego wywołanie jest możliwe do przetłumaczenia na bezpośrednią instrukcję SQL, określona lista jest konwertowana na tabelę tymczasową SQL, a w bazie danych dokonywane jest dopasowanie przez wykonanie pojedynczej kwerendy EXISTS JOIN. W przeciwnym razie funkcja działa jako funkcja VALUEIN.

Gdy określone dane wejściowe reprezentują element źródła danych zaprojektowany jako element inny niż Int64 i Integer, błąd występuje w czasie projektowania, informując o tym, że funkcja VALUEINLARGE nie ma zastosowania dla skonfigurowanego wyrażenia encji.

Gdy jest wykonywane wyrażenie funkcyjne VALUEINLARGE i w zakresie tej operacji jest używana więcej niż jedna tabela tymczasowa, wystąpi błąd środowiska uruchomieniowego.

Przykład

Definiuje się następujące źródła danych w mapowaniu modelu:

  • Źródło danych In typu Rekordy tabeli.
    • To źródło danych odnosi się do tabeli Intrastat.
    • Opcja Międzyfirmowe jest ustawiona na wartość Nie.
  • Źródło danych InMemory typu Pole obliczeniowe.
    • To źródło danych zawiera wyrażenie WHERE (In, In.Port <> "").
  • Źródło danych InFiltered typu Pole obliczeniowe.
    • To źródło danych zawiera wyrażenie FILTER (In, VALUEINLARGE(In.RecId, InMemory, InMemory.RecId).

Jeśli źródło danych InFiltered jest wywoływane w kontekście firmy DEMF, w bazie danych aplikacji zostanie utworzona nowa tabela tymczasowa, a w tabeli zostanie wstawiona lista kodów identyfikacyjnych rekordów z kodami identyfikującymi rekordy, a w celu zwrócenia filtrowanych rekordów generowana jest instrukcja SQL tabeli 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)))

Dodatkowe zasoby

Funkcje logiczne

funkcje VALUEIN