如何基于数据集中的列中的非空值在SSRS中显示文本框

时间:2015-08-21 17:59:43

标签: reporting-services textbox ssrs-2008 ssrs-2008-r2

在我的数据集SSRS中,我得到一个名为TargetValues的列。

如果此列至少有一个值(非空),我需要显示一个文本框(设置可见性规则)。

有没有办法浏览列表并检查我是否至少有一个非空值?

我的数据集有3列,Id - 表示行的id(int),ActualValue(int)和目标值(int)

示例1:在这种情况下,我需要显示文本框

Id ActaulValue TargetValue

  • 1,555,Null
  • 2,556,Null
  • 3,557,75

示例2:在这种情况下,我需要隐藏文本框

Id ActaulValue TargetValue

  • 1,555,Null
  • 2,556,Null
  • 3,557,Null

2 个答案:

答案 0 :(得分:1)

您的TargetValues中是否需要null?这个领域的最小值是多少?

我会尝试操纵查询以使隐藏文本框的逻辑更简单。

例如,如果你没有负数,则将空值设为0并测试Min()为0并使用它来显示/隐藏。

Like = IFF(Min(Fields!TargetValues.Value)= 0,TRUE,FALSE)

此外= IFF(IsNothing(Sum(Fields!TargetValues.Value)),TRUE,FALSE)可能有效

答案 1 :(得分:0)

基于表达式显示或隐藏之后,在文本框的visibility属性中设置以下表达式 - =IIF(IIF( MAX( iif( IsNothing(Fields!TargetValues.Value ), -1, Fields!TargetValues.Value ), "give your dataset name" ) = -1, "Null Values", FormatNumber( MAX( iif( IsNothing(Fields!TargetValues.Value ), -1, Fields!TargetValues.Value ), "give your dataset name"),0)) = "Null Values", TRUE, FALSE)

编辑 - 对我来说工作正常,请参阅屏幕截图以供参考。 SSRS-screenshot