我的报告有一个年份参数,您可以一次选择多年。对于小计行,我需要它来总结参数中选择的所有年份的总数,除了他们选择的最大年份。我尝试了以下两个例子但它们不起作用。
第一个例子我尝试使用参数基于\
的字段=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))
所以,让我们说当你运行报告并在下拉列表中选择bldyear参数时,它将具有年份2010,2011,2012,2013,2014,2015。现在假设您选择2010年至2013年的年份我想要除2013年以外的所有年份的小计。
答案 0 :(得分:1)
如果您的参数为Integer
类型,则可以使用以下方法。
转到报告属性
在Code tab
/自定义代码中输入以下代码:
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))
亲自试试并告诉我这是否可以帮助您。
答案 1 :(得分:0)
如果您的参数值按从高到低的顺序排列,Parameters!Seasons.Value(0)
应返回最高(最大)选定值。否则,必须使用 Custom Code 来计算所选的最高值。