【发布时间】:2017-04-25 06:44:46
【问题描述】:
我正在使用 ReportBuilder 2.0 / SQL Server 2008。
我有一份报告在行组上使用可见性设置,这导致某些行组标题被隐藏,这反过来又使报告总计看起来不正确。我无法更改可见性设置(出于商业原因);我正在寻找的是一种测试隐藏项目或明显不正确总数的方法。考虑以下数据集:
ItemCode SubPhaseCode SubPhase BidItem XTDPrice
1 1 Water Utility 1 5000
2 1 Water Utility 2 4000
3 2 Electrical Utility 3 75,000
4 2 Electrical Utility 3 75,000
5 2 Electrical Utility 3 100000
6 2 Electrical Utility 4 2500
7 2 Electrical Utility 4 2500
8 2 Electrical Utility 4 5064
9 2 Electrical Utility 5 3000
10 2 Electrical Utility 5 3000
11 2 Electrical Utility 5 5796
12 3 Gas Utility 6 60000
13 3 Gas Utility 6 60000
14 3 Gas Utility 6 61547
15 4 Other Utility 7 6000
16 4 Other Utility 7 7000
报表上有 3 个行组,一个用于 SubPhaseCode ("Group1"),两个用于 BidItem("Group2" and "DetailsGroup"):
Link to Design View Screenshot
Group1 (SubPhaseCode) 的 Row Visibility 属性为:
=IIF(Fields!SubPhaseCode.Value = 3, true, false)
这导致子阶段“气体”的标题被隐藏。这意味着,当报告运行时,我会得到如下内容:
Total 475407
Water 9000
-Utility 1 5000
-Utility 2 4000
Electrical 271860
-Utility 3 250000
-Utility 4 10064
-Utility 5 11796
-Utility 6 181547
Other 13000
-Utility 7 13000
SubPhase 3(“Gas”)被隐藏的事实导致了 2 个明显的错误:
1) “Electrical” (271860) 的总和对于它下面的 4 个项目似乎不正确(因为“Utility 6”上方应该有另一行标题)
2) 475407 的总数对于它下面的 3 个组 (9000 + 271860 + 13000) 似乎不正确。
我正在寻找的是一种更改标题(尤其是组标题)格式的方法,如果它们下面的数字显然不相加的话。我了解如何实现条件格式,并为 Total 完成了此操作。我不清楚如何为 Row Group 实现这一点。
我基本上需要对每个行标题进行某种测试,以根据规则查看 以下 标题是否会被隐藏。这对我来说听起来像是一个“NEXT”功能,我知道它不存在。
其他搜索表明我可能需要将所需数据添加到数据集或修改基础 SP。只是想知道是否有任何更简单的解决方案。
非常感谢您的帮助!
【问题讨论】:
标签: sql-server reporting-services ssrs-2008 next report-builder2.0