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

Abh*_*ash 4 sql-server reporting-services ssrs-2008 ssrs-tablix ssrs-2008-r2

我正在创建一个 SSRS 报告,其中

在 Dataset15 中,我的值为 Jan - 100 & Feb - 110

在 Dataset16 中,我有价值 Jan - 80 & Feb - 100

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

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

请帮助我如何获得个人号码。

Han*_*ist 5

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

LookupSet用于根据条件从另一个数据集中检索数据。

需要一个 VBA 函数 SumLookup 来添加 LookUp 的结果。这个 VB 将进入报告的 CODE 部分(这可以在“报告属性”下看到)。

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 
Run Code Online (Sandbox Code Playgroud)

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

=Code.SumLookup(LookupSet(Fields!MONTH.Value, Fields!MONTH.Value, Fields!Total.Value,"Dataset16"))
Run Code Online (Sandbox Code Playgroud)

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

FORMAT(Fields!MONTH.Value, "MMyyyy")
Run Code Online (Sandbox Code Playgroud)