如果任何行包含特定值,则在标头中使用SSRS条件文本框

时间:2014-05-28 15:13:16

标签: reporting-services

如果在某列中有任何行为0,我需要在报告顶部显示警告。

我可以使用自己的查询创建一个新的数据集,但所需的连接很昂贵。

我尝试创建一个报告值,在控制它的列中,我使用了这个表达式:

=IIf(Sum(Fields!state.Value)=0, Variables!hasPreProduction.SetValue(1), "0")

我知道这是错误的,因为Variables!hasPreProduction.SetValue(1)带有红色下划线。

想法?谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你的意思是报告变量不是“报告价值”?根据其定义中的表达式,每个报告计算一次这些值。你无法将值推入它们。

我会使用代码,例如定义一个计数器变量和一个函数来添加它并返回它的值,例如

Dim Counter As Integer

Function AddToCounter ( ByVal AddValue As Integer )

Counter = Counter + AddValue

End Function

Function GetCounter () As Integer

GetCounter = Counter

End Function

然后行上的表达式将调用该函数,例如

=Code.AddToCounter(IIf(Sum(Fields!state.Value)=0, 1, 0))

最后,报告顶部的文本框将获得值,例如

=Iif ( Code.GetCounter() > 0 , "Zeros Detected" , "No Zeros Detected" )