首页 文章

从所选参数报表生成器中获取最大值

提问于
浏览
0

我有一个包含年份参数的报告,您可以一次选择多年 . 对于小计行,我需要它来总结参数中选择的所有年份的总数,除了他们选择的最大年份 . 我尝试了以下两个例子,但它们不起作用 .

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

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

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

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

所以,让我们说当你运行报告并在下拉列表中选择bldyear参数时,它将具有年份2010,2011,2012,2013,2014,2015 . 现在假设您选择2010年至2013年的年份我希望除2013年以外的所有年份的小计 .

1 回答

  • 1

    如果您的参数是 Integer 类型,则可以使用以下方法 .

    转到报告属性

    enter image description here

    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))
    

    亲自试试,如果这可以帮到你,请告诉我 .

相关问题