【问题标题】:SSRS - can't remove blank rowsSSRS - 无法删除空白行
【发布时间】:2014-01-22 16:33:24
【问题描述】:

我在 sql server 2012 报告服务中有下表,我在 Time 之后对元素进行了分组,并计算了分组项的平均值:

使用隐藏重复属性后,我得到下表:

现在我试图删除几个小时的空白行,但没有任何效果。我尝试使用这样的可见性表达式:

=iif(Fields!Menge.Value = "",TRUE,FALSE)

但是由于输入错误,我得到了一个错误。 (单元格行是一个数字)

如何删除这些空白行??

更新:

【问题讨论】:

    标签: reporting-services sql-server-2012 duplicates


    【解决方案1】:

    尝试使用Previous 函数来查看行的可见性 - 类似于:

    =IIf(Previous(Fields!Menge.Value) = Fields!Menge.Value, True, False)
    

    您尚未展示如何在报告中应用分组(如果有),因此您可能需要使用可选的 Scope 参数进行调查,但这在一个简单的测试中对我有用。

    评论后编辑

    这是一个与您的数据相似的示例:

    还有一个具有等效分组的表格:

    使用上面的表达式设置行可见性:

    设置行可见性之前的表格:

    行可见性后的表:

    在我看来,这就是你所追求的。

    进一步编辑

    好的,如果您在该详细信息行中所做的只是应用适用于组范围的聚合(在这种情况下特别是平均值),为什么不完全删除详细信息行并在组标题行中运行聚合?

    这样您就不必担心显示/隐藏行或隐藏重复项。您的表达式对于组中的每一行都是相同的,那么为什么不只在每个组中显示一行呢?

    您更新后的表格将如下所示:

    即完全删除了详细信息组和行,并添加了一个组标题行。

    结果如下:

    表达式分别只是=Avg(Fields!Menge.Value)=Avg(Fields!Betrag.Value),即各组字段的平均值。

    【讨论】:

    • 嗨,我在我的问题中附上了我小组的截图。使用你的代码不起作用。我将它应用到我的行单元格,但随后显示所有元素。我认为你的括号是错误的。这似乎对我来说是正确的: =IIf(Previous(Fields!Menge.Value = Fields!Menge.Value), True, False) 但是我只看到第一行
    • 好的,我已经用一个具体的例子更新了答案,使用我首先指定的表达式。对我来说看起来不错,但我想我的要求可能完全错误。
    • 这正是我要找的,但你的表达似乎对我不起作用,这很奇怪。我使用下面的表达式来计算我的价值,也许这就是问题所在? - Int(Avg(Fields!Menge.Value, "Geschäftsjahrgroup")) - 你可以试试这个作为你的价值观并告诉我它是否仍然有效吗?
    • 一个快速的问题...Betrag 列的表达式是否类似于 Avg(Fields!Betrag.Value, "Geschäftsjahrgroup"),即与另一个表达式在同一范围内的另一个聚合?
    • 这与 Menge 的聚合相同.. Int(Avg(Fields!Betrag.Value, "Geschäftsjahrgroup"))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 2012-07-18
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多