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



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

例如,心脏病发作可能在数据集1和数据集2中。我只想让报告显示《心脏病发作20》,这将是两个数据集的组合,以及报告中两个数据的总和。

我尝试过查找函数和联接,但总是出错。

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

"System.Web.Services.Protocols.SoapException:的值表达式textrun"Medical_Condition.Permages[0].TextRuns[0]"具有函数"Lookup"的参数数目不正确。在Microsoft.ReportingServices.Library.ReportingServices2005Impl.SetReportDefinition(字符串报表,Byte[]定义,Guid batchId,警告[]&警告)Microsoft.ReportingServices.Library.ReportingServices2005Impl.SetReportDefinition(字符串报告,字节[]定义,警告[]&警告)Microsoft.ReportingServices.Library.ReportingServices2010Impl.SetItemDefinition(字符串ItemPath,Byte[]定义,预期字符串ItemTypeName,属性[]属性,警告[]&警告)Microsoft.ReportingServices.WebServer:ReportingServices2010.SetItemDefinition(字符串ItemPath,Byte[]定义,属性[]属性,警告[]&警告)

我甚至无法让它组合数据,更不用说计数了。我做错了什么?

提前感谢!Tara

查找函数有4个参数:查找(源表达式、目的表达式、结果表达式、数据集)

要扩展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))

如果您更喜欢动态结果,或者参数提供了"Condition",则应将"Heart Attack"替换为Parameters!Condition.Value,以检查每个数据集提供的值。

最新更新