我在SQL报告服务报告中有一个名为“Total”的列。
生成报告时,我隐藏了一些符合某个公式的行,
但计算隐藏行值的总和也在计算。 我可以知道如何从总值中排除隐藏的行值吗?
答案 0 :(得分:4)
您有两种选择:
应用您用于将行隐藏到聚合表达式的相同显示/隐藏逻辑。
在表级应用过滤器。
举个例子,假设我有一些简单的数据和相关的表格:
现在,假设我们要隐藏所有具有负值的行 - 我们可以通过将行隐藏属性设置为:
来执行此操作=IIf(Fields!val.Value > 0, False, True)
删除该行但不会更改总数,即您所看到的内容:
我们需要对Sum
表达式应用相同的显示/隐藏逻辑:
=Sum(IIf(Fields!val.Value > 0, Fields!val.Value, Nothing))
现在总体看起来更好:
退一步,如果要隐藏行并更改总计,为什么不应用过滤器;在上面的例子中,这将是:
无需在行或总级别显示任何显示/隐藏逻辑,即可获得相同的结果。
根据表达式的复杂程度,这最后一个选项可能不适用,但如果可能,我似乎有点整洁。