在SSRS Reporting Services中合并两个数据集并计数

时间:2019-01-27 03:45:44

标签: reporting-services

我有两个数据集-在数据集1 MedAdministration中,我有Medical_Condition。在数据集2 ProblemList中,我有Medical_Condition。我想结合两个数据集和计数。

例如,心脏病发作可能在数据集1和数据集2中。我只希望报告显示心脏病发作20,这是两个数据集的组合,并且两者合计成报告中的一个总数。

我已经尝试了查找功能和联接,但是我一直遇到错误。

=Lookup(Fields!Medical_Condition.Value,Fields!Medical_Condition.Value, "ProblemList")
  

“ System.Web.Services.Protocols.SoapException:的值表达式   文本运行“ Medical_Condition.Paragraphs [0] .TextRuns [0]”具有一个   “查找”功能的参数数量不正确。在   Microsoft.ReportingServices.Library.ReportingService2005Impl.SetReportDefinition(字符串   报告,字节[]定义,引导批处理ID,警告[]和警告),位于   Microsoft.ReportingServices.Library.ReportingService2005Impl.SetReportDefinition(字符串   报告,字节[]定义,警告[]和警告)   Microsoft.ReportingServices.Library.ReportingService2010Impl.SetItemDefinition(字符串   ItemPath,Byte []定义,字符串ExpectedItemTypeName,Property []   属性,警告[]和警告),网址为   Microsoft.ReportingServices.WebServer.ReportingService2010.SetItemDefinition(String   ItemPath,字节[]定义,属性[]属性,警告[]&   警告)

我什至无法得到它来合并数据,更不用说算了。我究竟做错了什么?

提前谢谢! 塔拉

2 个答案:

答案 0 :(得分:0)

查找功能采用4个参数: 查找(源表达式,目标表达式,结果表达式,数据集)

答案 1 :(得分:0)

要扩展SuperSimmer的答案,您需要在表达式中使用正确的查找参数将两者相加。我不确定该报表的布局方式,但是例如,如果您需要汇总Heart Attack的值,则需要从每个数据集中对该字段进行计数并将它们加在一起。

 =Count(IIF(Lookup(Fields!Medical_Condition.Value,Fields!Medical_Condition.Value, Fields!Medical_Condition.Value, "ProblemList") = "Heart Attack", 1, Nothing)) 
+ Count(IIF(Lookup(Fields!Medical_Condition.Value,Fields!Medical_Condition.Value, Fields!Medical_Condition.Value, "MedAdministration") = "Heart Attack", 1, Nothing))

如果您希望获得动态结果,或者如果通过参数提供了“条件”,则可以将"Heart Attack"替换为Parameters!Condition.Value,以检查每个数据集提供的值。