VALUEINLARGE ER 函数

VALUEINLARGE 函数确定指定的 Int64整数类型的输入是否匹配指定列表中任何指定项目的值。 如果指定的输入与为指定列表的至少一条记录运行指定表达式的结果匹配,此函数将返回布尔TRUE。 否则,返回布尔FALSE。 要了解与 VALUEIN 函数的区别,请参阅本文后面的使用说明一节。

语法

VALUEINLARGE (input, list, list item expression)

参数

input字段

记录列表类型的数据源项的有效路径。 将匹配此项目的值。

list记录列表

记录列表数据类型的数据源的有效路径。

list item expression表达式

指向或包含应用于匹配的指定列表的一个字段的有效条件表达式。

返回值

Boolean

生成的布尔值。

使用说明

当指定的输入表示其调用可翻译为直接 SQL 语句的数据源项的 Int64整数类型(可转换为直接SQL语句的调用)时,指定的列表将转换为临时 SQL 表,匹配将通过执行单个 EXISTS JOIN 查询在数据库中执行。 否则,此函数将用作 VALUEIN 函数。

当指定的输入表示设计为 Int64整数类型以外的项目的数据源项时,在设计时将发生错误,通知您 VALUEINLARGE 函数不适用于配置的 ER 表达式。

当执行 VALUEINLARGE 函数表达式并在此执行范围内使用多个临时表时,会发生运行时错误。

示例

在模型映射中定义以下数据源:

  • 表记录类型的 In 数据源。
    • 此数据源引用内部统计表。
    • 跨公司选项将设置为
  • 计算字段类型的 InMemory 数据源。
    • 此数据源包含表达式 WHERE (In, In.Port <> "")
  • 计算字段类型的 InFiltered 数据源。
    • 此数据源包含表达式 FILTER (In, VALUEINLARGE(In.RecId, InMemory, InMemory.RecId)

在公司 DEMF 的上下文下调用数据源 InFiltered 时,将在应用程序数据库中创建新的临时表,在记录标识代码的内存列表中收集的项将插入此表中,并生成以下 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 函数