在使用表达式 s-s-rS 使用两个数据集进行计算时需要帮助
Posted
技术标签:
【中文标题】在使用表达式 s-s-rS 使用两个数据集进行计算时需要帮助【英文标题】:Need help in calculation using two Datasets using Expression s-s-rS 【发布时间】:2016-03-21 13:06:08 【问题描述】:我正在创建一个 s-s-rS 报告,其中
在 Dataset15 中,我的值是 Jan - 100 和 Feb - 110
在 Dataset16 中,我的值是 Jan - 80 和 Feb - 100
现在我想在折线图中使用表达式计算相同的东西 - Jan - 80/100
应该是 80% & Feb - 100/110 - 91%
当我试图找出个人每月数字 100、110 时,我得到 210,这是两者的总和 - Sum(Fields!Total.Value, "DataSet15")
。
请帮助我如何获得个人号码。
【问题讨论】:
【参考方案1】:您需要将数据集限制在所需的月份,然后对结果求和。
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
然后您将在表达式中使用该函数,例如:
=Code.SumLookup(LookupSet(Fields!MONTH.Value, Fields!MONTH.Value, Fields!Total.Value,"Dataset16"))
如果您的字段是日期,那么您需要使用 FORMAT 将两者都转换为 MMyyyy 字段:
FORMAT(Fields!MONTH.Value, "MMyyyy")
【讨论】:
以上是关于在使用表达式 s-s-rS 使用两个数据集进行计算时需要帮助的主要内容,如果未能解决你的问题,请参考以下文章