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")。
请帮助我如何获得个人号码。
您需要将数据集限制为所需的月份,然后对结果求和。
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)