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

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

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

In Dataset15, I have value Jan - 100 & Feb - 110

in Dataset16, I have value Jan - 80 & Feb - 100



现在我想使用表达式 - Jan - 80/100 在折线图中计算相同的内容应该是 80% & Feb - 100/110 - 91%
当我试图找出个人每月数字 100、110 时,我得到 210,这是两者的总和 - Sum(Fields!Total.Value, "DataSet15") .

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

最佳答案

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

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

需要一个 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")

关于sql-server - 在使用表达式 SSRS 使用两个数据集进行计算时需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36131860/

相关文章:

sql-server - 无法创建本地sql server 2012

sql-server - Visual Studio数据库项目中的版本控制更新

sql - 从 XML 中提取值不适用于查询节点或值

ssrs-2008 - 如何在SSRS中的任何列中过滤具有空值的行

reporting-services - SSRS 表达式引用此文本框

sql - TRY/CATCH block 与 SQL 检查

reporting-services - SSRS 自动将数据集中的所有列生成到 tablix (Report Builder 3.0)

reporting-services - 向 Reporting Services 添加新角色类型

c# - 如何动态创建 SSRS 报告?

c#-4.0 - SSRS 报告中的字符串拆分