【问题标题】:Hide duplicate row SSRS 2008 R2隐藏重复行 SSRS 2008 R2
【发布时间】:2012-03-16 13:53:18
【问题描述】:

我的报告中出现重复数据,因为源表有重复数据。在不创建组的情况下,我想隐藏重复的数据写入表达式。所以我做了什么:我选择表格行并为表格行的隐藏属性放置一个表达式。

表达式类似于 =(Previous(Fields!ID.Value) = Fields!ID.Value) 但它没有用......仍然显示重复的数据。所以告诉我如何不通过分组来抑制 ssrs 写作表达式中的重复行。

【问题讨论】:

    标签: ssrs-2008


    【解决方案1】:

    您可能应该先尝试以下选项:

    • 尝试从源头清除重复数据。
    • 更改您的源查询,这样重复项就不会出现在数据集中。 (例如 SELECT DISTINCT)

    如果没有,在行的 Visibility Hidden 属性上,您可以使用 Previous 功能:

    =iif(Fields!YourField.Value = Previous(Fields!YourField.Value), True, False)
    

    您必须对 YourField 列进行排序才能使其正常工作。

    【讨论】:

    • 如果文本框在任何行中有重复值,我想隐藏行。怎么办?
    • Previous 函数为第一行返回 null,因此您的 IIF 语句将始终排除非 null 第一行。您应该添加一个检查,例如 =IIF(Fields!YourField.Value = Previous(Fields!YourField.Value) AND Not IsNothing(Previous(Fields!YourField.Value)), True, False)
    • @erosebe 是正确的,在我添加他的代码之前,我遇到了他在第一行描述的问题。如果您将其添加到您的答案中,那将是有益的。
    【解决方案2】:

    在我开始使用属性窗格中的“隐藏重复项”行之前,我也将表达式放在上面。您基本上只需选择行,在下拉列表中选择您的数据集,就是这样。任何重复项都将被隐藏。此外,如果您只想隐藏某些重复的文本框,您可以像我之前所说的那样做,除了点击文本框而不是行。只是另一种选择,我知道您说的是使用表达式。

    【讨论】:

    • 这正是我想要的。我有多个嵌套组,其中一个列组位于最低级别,并且在让以前的与当前的和 row_number 工作时遇到问题。选择父组作为我的详细信息组的“隐藏重复”属性的值,它只显示该组第一行的值。
    • +1 这正是我所需要的。这个问题是 Google 上的热门问题,您的回答对我的需求更加实用。
    【解决方案3】:

    您可以使用单元格或行属性中的表达式或“隐藏重复项”选项来执行此操作。

    表达式:

    =IIF(Fields!YourField.Value = Previous(Fields!YourField.Value), True, False)
    

    隐藏重复步骤:

    1. 选择行或单元格
    2. 点击键盘上的 F4 键
    3. 查找“隐藏重复项”
    4. 从下拉列表中选择您的数据集

    完成了,希望对你有帮助

    【讨论】:

    • 对我有用...我们可以合并矩阵中的重复值单元格
    【解决方案4】:

    作为替代选项,您可以通过设置行组来实现。在我尝试创建的报告中,Hide Duplicates 属性将无法正常运行,因为在列表容器中多次使用相同的数据集。

    您需要做的就是为默认行组设置行组属性(右键单击灰色行标题,然后转到Row Group,然后转到Group Properties),然后在General 选项卡上添加Group expressions。根据需要为每个字段添加任意数量。就像 Microsoft Excel 中的删除重复项工具

    【讨论】:

      【解决方案5】:

      有时“隐藏重复项”选项确实适用于报告内容。如果您在单元格中的字段周围添加=Sum(Field!Field_Name.Value) 总和,它会抑制先前记录的副本。当然,严格来说,这是一个解决方案,其中传入的数据集包含有问题的单元格的NULL 行。

      【讨论】:

        【解决方案6】:

        由于SSRS中使用了Previous函数与之前唯一的记录进行比较,因此如果重复的记录不相邻,可能会导致重复的记录仍然显示。

        在您应用 Previous 函数的每个表上使用排序,它也应该解决“非彼此相邻”的重复记录。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多