【问题标题】:How To Show Or Hide A Tablix Based On A Bit Field In SQL Server Reporting Services如何在 SQL Server Reporting Services 中显示或隐藏基于位字段的 Tablix
【发布时间】:2018-04-12 23:39:42
【问题描述】:

我有一个多行数据集,我想对其进行查找并获取其中一列的位/布尔值并将其应用于 tablix 的隐藏属性。

这是 tablix 上 hidden 属性的表达式。

= IIF(Lookup(6, Fields!ServiceOfferingID.Value, Fields!UseCustomCalculator.Value, "JobBuyerDetails") = 0, True, False)

如果 ServiceOfferingID 为 6,则获取 UseCustomCalculator 列中的内容以显示或隐藏 tablix。

我不知道您是否可以比较这样的值,可能需要是字符串还是它们都只是变体。

我尝试使用 CStr() 将值转换为字符串,在搜索的值周围加上引号(在本例中为 6),但无法让 tablix 正确显示或隐藏。

似乎没有一个好的方法来调试它,检查查找返回的内容等。

我怎样才能改变我的表达来让它发挥作用?

我错过了什么?

我是 SQL Server Reporting Services 的新手。

我使用的是 SQL Server 2008 R2。

【问题讨论】:

    标签: sql-server-2008 reporting-services


    【解决方案1】:

    传统意义上的调试并不是一个真正的选择。我通常做的是添加一个文本框并将表达式设置为您要测试的表达式,在您的情况下,将表达式设置为

    =Lookup(6, Fields!ServiceOfferingID.Value, Fields!UseCustomCalculator.Value, "JobBuyerDetails")
    

    看看你会得到什么。

    确定返回的内容并更正比较后,您就可以稍微简化隐藏表达式。

    隐藏的表达式就像(假设查找问题已解决)

    =Lookup(6, Fields!ServiceOfferingID.Value, Fields!UseCustomCalculator.Value, "JobBuyerDetails") = 0

    这里不需要使用IIF,因为无论如何比较都会返回return或false。

    【讨论】:

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