Поделиться через


Функция электронной отчетности VALUEINLARGE

Функция VALUEINLARGE определяет, соответствует ли заданный ввод типа Int64 или Integer какому-либо значению указанного элемента в указанном списке. Функция возвращает логическое значение TRUE, если указанный ввод совпадает с результатом выполнения указанного выражения по крайней мере для одной записи указанного списка. В противном случае возвращает логическое значение FALSE. Чтобы понять отличие от функции VALUEIN, см. раздел Примечание по использованию далее в этой статье.

Синтаксис

VALUEINLARGE (input, list, list item expression)

Аргументы

input: Поле

Действительный путь элемента источника данных типа Список записей. Значение этого элемента будет сопоставляться.

list: Список записей

Действительный путь источника данных типа данных Список записей.

list item expression: Выражение

Допустимое условное выражение которое либо указывает на, либо содержит одно поле указанного списка, которое должно использоваться для сопоставления.

Возвращаемые значения

Логический

Результирующее логическое значение.

Примечания по использованию

Когда указанный ввод представляет тип Int64 или Integer элемента источника данных, вызов которого может быть преобразован непосредственно в инструкцию SQL, указанный список преобразовывается во временную таблицу SQL, а соответствующий запрос выполняется в базе данных путем выполнения одного запроса EXISTS JOIN. В противном случае эта функция работает как функция VALUEIN.

Когда указанный ввод представляет собой элемент источника данных, который назначен как элемент, отличный от типа Int64 и Integer, в режиме разработки возникает ошибка, информирующая, что функция VALUEINLARGE неприменима для настроенного выражения электронной отчетности.

Если при выполнении выражения функции VALUEINLARGE используются нескольких временных таблиц в области этого выполнения, происходит ошибка времени выполнения.

Пример

Определите следующие источники данных в соответствии вашей модели:

  • Источник данных In типа Записи таблицы.
    • Этот источник данных ссылается на таблицу Интрастат.
    • Для параметра Межфирменное задано значение Нет.
  • Источник данных InMemory типа Вычисляемое поле.
    • Этот источник данных содержит выражение WHERE (In, In.Port <> "").
  • Источник данных InFiltered типа Вычисляемое поле.
    • Этот источник данных содержит выражение FILTER (In, VALUEINLARGE(In.RecId, InMemory, InMemory.RecId).

Когда источник данных InFiltered вызывается в контексте компании DEMF, в базе данных приложений создается новая временная таблица, в эту таблицу вставляется собранный в памяти список идентификационных кодов записей, и создается следующая инструкция SQL, которая возвращает отфильтрованные записи таблицы Интрастат.

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

Дополнительные ресурсы

Логические функции

Функции VALUEIN