【问题标题】:SSRS - Lookupset return #ErrorSSRS - 查找集返回 #Error
【发布时间】:2016-05-24 08:06:33
【问题描述】:

我的配置:

DB1 - MSSQL 2000

DB1 - MSSQL 2005

SSRS 2008 R2

我有两个数据集

Dataset1 - 从 DB1 查询

Dataset1 - 从 DB2 查询

所以我正在尝试构建一个报告,该报告将使用 LookUpSet 函数比较两个表。问题是指定的目标字段返回 #Error 作为值。

这是我正在使用的 LookupSet 函数:

=lookupset(Fields!IMNumber.Value,Fields!IMnumber.Value,Fields!client.Value,"Dataset2")

每个表都包含 IMNumber 列。 当我运行报告时,Client 列的结果返回 #Error 作为结果。

提前感谢您的帮助。

【问题讨论】:

    标签: sql-server function reporting-services lookup


    【解决方案1】:

    希望您的“Dataset2”为该值返回多个值。在这种情况下,您可以使用 , 加入值

    所以表达式是:

    =JOIN(LookupSet(Fields!IMNumber.Value,Fields!IMnumber.Value,Fields!client.Value,"Dataset2"),",")
    

    【讨论】:

    • 您好 Arulkumar,感谢您的快速回复。我已经尝试过你的解决方案。所以结果返回〜600行,现在一些字段只是空的,其余的都是一样的#Error
    • @kekimian 然后您需要隐藏该文本框的可见性。只需右键单击文本框,在文本框可见性中应用表达式=IIf(IsNothing(Fields!IMnumber.Value),True,False)
    • 感谢您的帮助。现在它返回我以下错误Report item expressions can only refer to fields within the current dataset scope or, if inside an aggregate, the specified dataset scope. Letters in the names of fields must use the correct case.
    • 我认为 Lookupset 函数不起作用,因为无论是否使用 Lookupset,结果总是包含 600 行。
    【解决方案2】:

    如果您的报告中有多个数据集,则应提供您引用的每个字段。您缺少第二个数据集引用。

    例如:

    =JOIN(LookupSet((Fields!IMNumber.Value, "DataSet1"),(Fields!IMnumber.Value,"Dataset2")),",")
    

    或者您的报告TextBox 的格式不正确。

    检查它 -> Textbox Properties -> Number

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多