【问题标题】:SSRS tablix visibilitySSRS tablix 可见性
【发布时间】:2018-04-30 12:37:34
【问题描述】:

我在 SSRS 中有一个多参数报告,我想根据参数选择显示或隐藏报告。如果用户从多值设施参数中仅选择一个设施,那么我希望与主报告一起显示第二个报告(它将是一个单独的选项卡)。如果选择了多个设施,那么我只想显示主报告。

我一直在玩第二份报告中的可见性表达式,但我似乎无法让它发挥作用。

我试过了:

   =IFF(Parameters!entity.IsMultiValue, "True", "False")

但返回错误“tablix 中使用的隐藏表达式返回的数据类型无效。

我也试过了:

   =IIF(Parameters!entity.Count = 1), "False", "True")

但我得到了同样的错误。我正在使用 SSRS 2016。

【问题讨论】:

  • 第一个,你错过了比较条件?第二个,你错过了(?
  • 第二个只是我在这里输入的一个错字。第一个如何缺少比较条件?它基于报告是否隐藏。不是说“如果实体参数的选择是多值,那么True(Hidden),否则False(not Hidden)?

标签: reporting-services parameters expression


【解决方案1】:

True 和 False 不是字符串,它们是布尔值。 Visibility 属性查找布尔值,但在您提供的表达式中(假设您的语法在测试时是正确的),您正在传递字符串,因为您将它们括在双引号中。删除双引号,这将清除该错误。

您也不需要在这里使用IIf - 您可以简单地使用IIf 的第一个参数,因为它本身将评估为True 或False。我怀疑有任何明显的性能差异,但只是需要注意的一点。

【讨论】:

  • 我相信这行得通。我一直在用 SQL 进行大量编码,以至于习惯于将字符串放在引号中。谢谢!
【解决方案2】:

False 和 True 不是字符串而是常量。

改成:

=IIF(Parameters!entity.IsMultiValue="Your value", True, False)

第二个是:

 =IIF(Parameters!entity.Count = 1, False, True)

祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多