在使用Expression SSRS使用两个数据集进行计算时需要帮助

时间:2016-03-21 13:06:08

标签: sql-server reporting-services ssrs-2008 ssrs-2008-r2 ssrs-tablix

我正在创建一份SSRS报告

  

在数据集15中,我有值Jan - 100& 2月 - 110

     

在数据集16中,我有价值1 - 80& 2月 - 100

现在我想在线图中使用表达式Jan - 80/100计算同样的东西,它应该是80%& Feb - 100/110 - 91%

当我试图找出个人每月100号时,110我得到210这是两者的总和 - Sum(Fields!Total.Value, "DataSet15")

请帮助我如何获得个人数字。

1 个答案:

答案 0 :(得分:1)

您需要将数据集限制在所需的月份,然后对结果求和。

LookupSet 用于根据条件从其他数据集中检索数据。

VBA函数,需要SumLookup来添加LookUp的结果。这个VB将进入报告的CODE部分(这可以在' Report Properties'中看到)。

Function SumLookup(ByVal items As Object()) As Decimal

If items Is Nothing Then Return Nothing

Dim suma As Decimal = New Decimal()
Dim ct as Integer = New Integer()

suma = 0
ct = 0

For Each item As Object In items

  suma += Convert.ToDecimal(item)
  ct += 1

Next

If (ct = 0) Then return 0 else return suma 

End Function 

然后,您将在表达式中使用该函数,如:

=Code.SumLookup(LookupSet(Fields!MONTH.Value, Fields!MONTH.Value, Fields!Total.Value,"Dataset16"))

如果您的字段是日期,那么您需要使用FORMAT将两者都转换为MMyyyy字段:

FORMAT(Fields!MONTH.Value, "MMyyyy")