在报表生成器工具中,我有两个不同的数据集,它们在两个不同的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
,如附件中的图片所示
发布于 2019-04-11 21:36:50
在我看来,您错误地使用了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
的分组,这样就不再需要任何表达式。当您应用分组时,它应该会自动对值求和。
发布于 2019-04-11 22:44:35
好的,让我们来试试这样的东西。
在第二个表中,再创建一列,我们称其为"PAC2ID_Calculated“。现在,对于本列,我们将使用查找表达式=Lookup(Field!COMP_ID.value, Field!COMP_ID.value, Field!PAC2_ID, "FirstDataset")
现在,这将在您的新列中返回什么,它将从第一个数据集返回COMP_ID的PAC2_ID,您的第二个Tablix将如下所示
一旦你得到了它,根据PAC2_ID对它进行分组,你就会得到预期的结果。
您可以隐藏COMP_ID列。
https://stackoverflow.com/questions/55633457
复制相似问题