代码之家  ›  专栏  ›  技术社区  ›  Mokrane Boubekeur

SSRS基于一个X轴标签上的两个日期组合两个值

  •  0
  • Mokrane Boubekeur  · 技术社区  · 6 年前

    请问有人能帮我吗?这是我的问题:

    在我的报告中,我有:

    图1: 在轴中,我有2012年、2013年、2014年、2015年、2016年、2017年、2018年

    表达式值为:

    =Sum(fields!ao_amountparticipationValue.Value)*100/Sum(Fields!ao_amountparticipationValue.Value, "Chart1_CategoryGroup")
    

    现在我的问题是;在里面 图2 我希望这样滚动2年有价值:

    在一个X标签中,我希望有以下内容:

    2012-2013、2013-2014、2014-2015、2015-2016、2016-2017、2017-2018

    这个值应该是两年的平均值。

    非常感谢。

    2 回复  |  直到 6 年前
        1
  •  0
  •   niktrs    6 年前

    您可以使用自定义代码创建每两年的平均值

    Dim oldvalue As decimal
    
    Public Function GetAverage(v AS decimal) As decimal
    
    Dim avgvalue As decimal
    
    If  oldvalue = Nothing Then
         avgvalue = 0
    Else
        avgvalue = (v + oldvalue)/2
    End If
    
    oldvalue = v
    
    Return avgvalue
    
    End Function
    

    值表达式应使用表达式调用自定义代码

    =Code.GetAverage( SUM(Fields!val.Value))
    

    对于年份夫妇的标签,可以使用如下表达式

    = Iif(Fields!year.Value = 2012,Nothing, Cstr(Fields!year.Value-1) + "-" + Cstr(Fields!year.Value))
    

    请注意,由于2012年没有平均值,您应该检查它是否与第一年匹配,并将label设置为nothing

    enter image description here

    enter image description here

        2
  •  0
  •   Mokrane Boubekeur    6 年前

    我不想使用代码,我只想让表达式找到对应的值; 这是桌子 Table

    我还想注意到,2012年不是开始的一年,可能是几年前,所以它应该是一个标准的表达

    再次感谢你