从选定参数中获取最大值 Report Builder

Get Max value from selected parameters Report Builder

我有一个包含年份参数的报告,您可以在其中一次 select 多年。对于小计行,我需要它总结参数中 selected 的所有年份的总和,除了他们 selected 的最大年份。我尝试了以下 2 个示例,但它们不起作用。

第一个例子我尝试使用参数基于的字段\

=Sum(iif(Fields!YEAR.Value < Max(Fields!YEAR.Value), Fields!Year_Sold.Value, Nothing))

我尝试使用实际最大参数值的第二个例子

=Sum(iif(Fields!YEAR.Value < Max(Parameters!BLDYEAR.Value), Fields!Year_Sold.Value, Nothing))

所以假设当您 运行 报告和 select 下拉菜单中的 bldyear 参数时,它将包含年份 2010、2011、2012、2013、2014、2015。现在假设你 select 2010 - 2013 年我想对除 2013 年以外的所有年份进行小计。

如果你的参数是Integer类型你可以使用下面的方法。

转到报告属性

Code tab / Custom Code中输入以下代码:

Public Function GetMax(ByVal parameter as Parameter) as Integer
   Dim max as Integer
   max = 0
      For i as integer = 0 to parameter.Count-1
    If max < parameter.Value(i) Then
        max = parameter.Value(i)
    End If
      Next
   Return max
End Function

然后在你的表达式中调用传递参数的函数。

=Sum(iif(Fields!YEAR.Value < Code.GetMax(Parameters!BLDYEAR),
Fields!Year_Sold.Value, 0))

亲自尝试一下,如果对您有帮助,请告诉我。

如果您的参数值是从最高到最低排序的,Parameters!Seasons.Value(0) 应该 return 选择最高(最大值)的值。否则,必须使用 来计算所选的最高值。