繁体   English   中英

使用报表生成器从SSRS报表的第二个Tablix中的第二个数据集中获取数据总和

[英]Get Sum of Data from Second Dataset in the Second Tablix of SSRS report with Report Builder

我有两个不同的数据集,它们在报表生成器工具的两个不同的Tablix中具有相同的值。 我想在第二个Tablix中实现ELEC_DATA

我已经尝试使用此表达式。

=LOOKUP(Field!COMP_ID.value,Field!COMP_ID.value,Field!ELEC_DATA.value,"DATASET2")

结果完全没有显示-也没有错误。

然后,我尝试使用自定义代码。

=code.sumlookup(LOOKUPSET(Field!COMP_ID.value,Field!COMP_ID.value,Field!ELEC_DATA.value,"DATASET2"))

我得到的结果是“ 0”。

预期结果将是添加ELEC_DATA如所附图片所示 在此处输入图片说明

在我看来,您使用的LOOKUP函数不正确。 LOOKUP函数仅需要使用4个参数。

=LOOKUP([SourceValue], [DestinationValue], [LookedUpValue], "[SourceDataset]")

但是,我不确定这是否是解决您问题的最佳方案,甚至是可行的方案。 老实说,如果您能够将这两个数据集合并为一个数据集查询,这将变得容易得多。

SELECT PAC2_ID, A.COMP_ID, DATE, ELEC_DATA 
FROM TABLE1 A JOIN TABLE2 B ON B.COMP_ID = A.COMP_ID

从那里,您可以在第二个基于PAC2_ID Tablix上使用分组,从而无需任何表达式。 应用分组时,它将自动对值求和。

好吧,让我们尝试这样的事情。

在第二个Tablix中再创建一个列,我们将其称为“ PAC2ID_Calculated”。 现在,对于此列,我们将使用查找表达式=Lookup(Field!COMP_ID.value, Field!COMP_ID.value, Field!PAC2_ID, "FirstDataset")

现在,这将在新列中返回什么,它将从第一个数据集中返回COMP_ID的PAC2_ID,而第二个Tablix将如下所示

在此处输入图片说明

一旦获得此结果,请根据PAC2_ID将其分组,您将获得预期的结果。

在此处输入图片说明

您可以隐藏COMP_ID列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM