将由 TFS 区域路径组成的多值字符串传递给 s-s-rS 中的子报表
Posted
技术标签:
【中文标题】将由 TFS 区域路径组成的多值字符串传递给 s-s-rS 中的子报表【英文标题】:Passing multi-value string consisting of TFS area paths to subreport in s-s-rS 【发布时间】:2017-12-08 14:49:47 【问题描述】:我在将多值参数传递给子报表时遇到问题。我们有一份报告,它正在从 Team Foundation Server 生成有关速度、燃尽、错误等的数据。主要报告指向一些子报告(针对每个团队),如果这些措施正在执行。在那个“团队”子报告中,我们有下一个子报告用于为错误生成数据,因此我遇到了问题(我收到子报告错误)。
为了计算我们想要的值,我们从主报告级别传递此错误子报告的 TFS 区域路径(它是一个简单的字符串,例如。[工作项]。[区域层次结构]。[区域 2]。&[-8426352345429395890 ]&[-7702890005762484781]) 并且工作正常。现在,我们要传递多个值,以便错误子报告将计算两个或更多区域路径的错误。错误子报告已为此做好准备,因为当我独立生成它时,我可以选择多个区域并且它正在正确计数和显示数据。我现在唯一遇到的问题是如何将多值字符串传递给此子报告以使其正常工作。
我们有这样的东西:
Main Report -> 'Team' Subreport -> Bugs Subreport
关于主要报告: 带有字符串 [Work Item].[Area Hierarchy].[Area2].&[-8426352345429395890]&[-7702890005762484781] 的参数“BugAreaParam”作为传递给“团队”子报告的值。
关于“团队”子报告: 参数“WorkItemAreaPath”传递给“Bugs”子报表,其中来自 BugAreaParam 的值设置为表达式:=Parameters!BugAreaParam.Value
关于错误子报告: 取值并生成数据的参数“WorkItemAreaPath”。它是一个多值,当我将它作为独立报告生成时,我可以选择多值来生成数据。
问题是,如何在主报告上正确设置参数“BugAreaParam”,以便它传递两个或多个值,例如。 [工作项].[区域层次结构].[区域 2].&[-8426352345429395890]&[-7702890005762484781] 和 [工作项].[区域层次结构].[区域 2].&[-55555]&[-44444] 和Bugs 子报表会从这两个区域生成 Bug?
非常感谢您的帮助!
BR, 达米安
【问题讨论】:
【参考方案1】:您可以在this case 中尝试 Edwin 的解决方案:
-
确保子报表中的参数设置为允许
多个值。
确保将参数从主报表传递到
子报表为 [@paramName] 而不是 "=Parameters!ParamName.Value(0)"
因为这表示只检索第一个值。
将子报表参数设置为可见并手动确保
选择/输入多个值会返回适当的结果。
如果一切都失败了,请尝试使用这样的公式
=Split(join(Parameters!ParamName.Value,","),",") 创建参数值的逗号分隔列表,然后将其拆分
放入一个数组中。
【讨论】:
以上是关于将由 TFS 区域路径组成的多值字符串传递给 s-s-rS 中的子报表的主要内容,如果未能解决你的问题,请参考以下文章