1

我正在使用 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”和“DetailsGroup”):

链接到设计视图屏幕截图

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) “电气”(271860) 的总和对于它下面的 4 项显示不正确(因为“实用程序 6”上方应该有另一行标题)

2) 475407 的总数对于它下面的 3 个组 (9000 + 271860 + 13000) 似乎不正确。

我正在寻找的 是一种更改标题(尤其是组标题)格式的方法,如果它们下面的数字显然没有加起来。我了解如何实现条件格式并已为 Total 完成了此操作。我不清楚如何为 Row Group 实施这一点。

根据规则,我基本上需要对每个行标题进行某种测试,以查看是否会隐藏以下标题。这对我来说听起来像是一个“NEXT”功能,我知道它不存在。

其他搜索表明我可能需要将所需数据添加到数据集或修改底层 SP。只是想知道是否有任何更简单的解决方案。

非常感谢您的帮助!

4

1 回答 1

0

我会避免对 SubPhase 组 SUM() 中的值求和。

尝试:

=SUM(IIF(Fields!SubPhaseCode.Value=3,0,Fields!XTDPrice.Value))

让我知道这是否有帮助。

于 2016-12-09T18:10:40.210 回答