从选定参数中获取最大值 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 选择最高(最大值)的值。否则,必须使用 来计算所选的最高值。
我有一个包含年份参数的报告,您可以在其中一次 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 选择最高(最大值)的值。否则,必须使用