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

时间:2019-04-11 13:17:54

标签: sql mysqli reporting-services ssrs-2012 ssrs-tablix

我有两个不同的数据集,它们在报表生成器工具的两个不同的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的添加,如所附图片所示 enter image description here

2 个答案:

答案 0 :(得分:0)

在我看来,您使用的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上使用分组功能,从而无需任何表达式。应用分组时,它应该会自动对值求和。

答案 1 :(得分:0)

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

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

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

enter image description here

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

enter image description here

您可以隐藏COMP_ID列。