【问题标题】:NEXT Function, or test if following Row Group is hiddenNEXT 函数,或者测试后面的行组是否隐藏
【发布时间】: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


    【解决方案1】:

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

    试试:

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

    如果这有帮助,请告诉我。

    【讨论】:

    • 感谢您的回复;但这并没有改变任何东西。对于显示的 SubPhase 组(例如,“Electrical”),总和保持不变(因为 SubPhaseCode 从不等于 3)。隐藏的标题(用于“Gas”/Utility 6)仍然隐藏。
    • @mgtech,您能否编辑您的问题以在“设计”窗口中包含表格的屏幕截图?
    • 问题已编辑,带有指向屏幕截图的链接(也用于更正报告中的组数)谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    • 2016-09-23
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    相关资源
    最近更新 更多