我有一个SSRS 2012报告,其中有一个我正在努力的表达。使用LookupSet时表达式错误?
我的报告由存储过程运行。存储过程中的每一行都会返回一个Funding记录。每笔筹资记录都附加到任务记录。每项任务可以有一个或多个资金记录。每笔融资记录可能有也可能没有与之相关的融资公司。 这意味着我的数据看起来像这样。
TaskID | FundingID | RCPFundingCompany
100 1000 Intel
100 1001 IBM
100 1002 TI
101 1003 Intel
101 1004 <null>
101 1005 <null>
102 1006 <null>
RDL显示按TaskID分组的细节行,每个TaskID有效显示一行。所有这一切都很好。我想做到的是有FundingCompany显示为一个逗号分隔的列表在报告中的一个单元,这样的:
Task ID RCPFundingCompany
Row1 Task 100 Intel, IBM, TI
Row2 Task 101 Intel
Row3 Task 102
我首先想到的是使用LookupSet功能来连接这些值每行放入一个单元格中。 所以,我用这个表达式:
=LookupSet(Fields!TaskID.Value, Fields!TaskID.Value, Fields!RCPCompanies.Value, "TaskReviewSummary")
当我预览我的报告,我得到这个错误:
Warning 1 [rsInvalidExpressionDataType] The Value expression used in textrun ‘Textbox10.Paragraphs[0].TextRuns[0]’ returned a data type that is not valid.
我在做什么错? 阿哈,我忘了加入!
=(Join(LookupSet(Fields!TaskID.Value, Fields!TaskID.Value, Fields!RCPCompanies.Value, "TaskReviewSummary"), ", "))
Unfortuntely,这将导致以下结果:
Task ID RCPFundingCompany
Row1 Task 100 Intel, IBM, TI
Row2 Task 101 Intel,
Row3 Task 102 , , ,
因为LookupSet是创建一个数组(如果我理解正确的话),它收集的NULL,然后加入连接它们的所有。嘘。
怎么办?