SSRS在文本框中使用Lookup时遇到的问题(未知的集合成员)

编程语言 2026-07-08

我在文本框中使用 'lookup' 函数时遇到问题。我的报表包含多个数据集,我猜测问题在于SSRS不知道应该把表达式第一部分绑定到哪个数据集,但我找不到解决方法,甚至不确定是否可能。

这是lookup语句,如果把它放到绑定到我的第一个数据集(“Building”)的表格中就能正常工作。但当把同样的语句放到文本框中时就不行。它给我报错“Unknown collection member。”

=Lookup(Fields!Construction_Code.Value,Fields!Construction_Code.Value,Fields!Value.Value, "Construction_type")

有没有办法指示第一条Construction_Code值来自于“Building”数据集?

解决方案

是的。在独立的文本框中,SSRS没有行上下文,因此 Fields!Construction_Code.Value 是模糊的,除非你明确把它限定到一个数据集。

尝试把源字段包裹在聚合函数中并指定数据集名称:

=Lookup(
    First(Fields!Construction_Code.Value, "Building"),
    Fields!Construction_Code.Value,
    Fields!Value.Value,
    "Construction_type"
)

解释:

  • First(Fields!Construction_Code.Value, "Building") 告诉SSRS从 "Building" 数据集获取值。
  • 最后的参数 ("Construction_type") 已经正确指定了查找数据集。

这是因为位于数据区域(表格/矩阵/列表)之外的文本框不会自动继承数据集作用域。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章