![]() |
1
1
最简单的方法是在SQL本身中。考虑到您希望从缓存数据中运行报表,这不是一个选项。 下一个显而易见的方法是用定制代码来实现。您可以执行以下操作: 右键单击布局空间,选择“属性”,然后单击“代码”选项卡。输入以下代码:
在细节栏上,创建两个细节行-第一个是普通行,在该行中,将字段与具有此表达式的该细节行的Visibility Hidden属性相加:
这将执行上面的代码,因为它准备显示每个细节行并隐藏除前5行以外的所有行。它还具有前5个值求和的副作用。 您的详细信息栏中的第二行是我们将在其中显示“所有其他状态”部分的位置,因此请为其提供描述“所有其他状态”,在您具有状态名称的列中,以及在您显示字段的列中,具有表达式:
除了最后一行(第5行)之外,我们还必须为所有行隐藏此行,因此我们将其Visibility Hidden属性设置为以下表达式:
这有效地隐藏了除最后一行(第5行)之外的所有行的此行。 您可能会认为您可以在报表的底部执行此操作,而不是隐藏所有行,但有一个陷阱-您无法预测报表的生成顺序,从而无法预测代码的执行顺序。真的? 如果您只是使用页脚中的计算而不是隐藏的详细信息行来完成报表,那么TOP5SUM变量的值将得到适当的计算。但是,visibility hidden函数将不起作用(至少在我的ssrs版本上是这样的——在生成准确的页脚之前,它在我的测试中生成了17个空白页)。但是,假设您要计算每个状态所占的百分比,因此将以下表达式添加到您的详细信息带中:
这是一件非常合理的事情,但这完全改变了报表的计算顺序-在这种情况下,细节栏需要知道字段的和,因此页脚栏在细节栏之前计算,这意味着在计算页脚栏时,Top5Sum变量为零,而您的计算离子不起作用。但是,现在细节行被适当隐藏。 这就是为什么您需要在细节栏中进行计算并隐藏所有其他结果,而不是像逻辑上那样在页脚栏中进行计算。 |
|
user6526744 · ReportServer中的字符无效 7 年前 |
![]() |
Arsee · SSRS-计算百分比之和 7 年前 |
![]() |
Sarath · SSRS和表达式不工作 7 年前 |
![]() |
Builder · SSRS如何在设计模式下隐藏参数/分组面板 7 年前 |
![]() |
Pascal_Roger · 重复的基于行的列值 7 年前 |
|
sramsey222 · 具有多个标准的SSRS IIF表达 7 年前 |
![]() |
user470091 · 根据值更改SSRS中的文本框颜色 7 年前 |
![]() |
Enrico Silvano · SSR使报告从负值开始 7 年前 |