【发布时间】:2012-03-16 13:53:18
【问题描述】:
我的报告中出现重复数据,因为源表有重复数据。在不创建组的情况下,我想隐藏重复的数据写入表达式。所以我做了什么:我选择表格行并为表格行的隐藏属性放置一个表达式。
表达式类似于 =(Previous(Fields!ID.Value) = Fields!ID.Value) 但它没有用......仍然显示重复的数据。所以告诉我如何不通过分组来抑制 ssrs 写作表达式中的重复行。
【问题讨论】:
标签: ssrs-2008
我的报告中出现重复数据,因为源表有重复数据。在不创建组的情况下,我想隐藏重复的数据写入表达式。所以我做了什么:我选择表格行并为表格行的隐藏属性放置一个表达式。
表达式类似于 =(Previous(Fields!ID.Value) = Fields!ID.Value) 但它没有用......仍然显示重复的数据。所以告诉我如何不通过分组来抑制 ssrs 写作表达式中的重复行。
【问题讨论】:
标签: ssrs-2008
您可能应该先尝试以下选项:
如果没有,在行的 Visibility Hidden 属性上,您可以使用 Previous 功能:
=iif(Fields!YourField.Value = Previous(Fields!YourField.Value), True, False)
您必须对 YourField 列进行排序才能使其正常工作。
【讨论】:
在我开始使用属性窗格中的“隐藏重复项”行之前,我也将表达式放在上面。您基本上只需选择行,在下拉列表中选择您的数据集,就是这样。任何重复项都将被隐藏。此外,如果您只想隐藏某些重复的文本框,您可以像我之前所说的那样做,除了点击文本框而不是行。只是另一种选择,我知道您说的是使用表达式。
【讨论】:
您可以使用单元格或行属性中的表达式或“隐藏重复项”选项来执行此操作。
表达式:
=IIF(Fields!YourField.Value = Previous(Fields!YourField.Value), True, False)
隐藏重复步骤:
完成了,希望对你有帮助
【讨论】:
作为替代选项,您可以通过设置行组来实现。在我尝试创建的报告中,Hide Duplicates 属性将无法正常运行,因为在列表容器中多次使用相同的数据集。
您需要做的就是为默认行组设置行组属性(右键单击灰色行标题,然后转到Row Group,然后转到Group Properties),然后在General 选项卡上添加Group expressions。根据需要为每个字段添加任意数量。就像 Microsoft Excel 中的删除重复项工具
【讨论】:
有时“隐藏重复项”选项确实适用于报告内容。如果您在单元格中的字段周围添加=Sum(Field!Field_Name.Value) 总和,它会抑制先前记录的副本。当然,严格来说,这是一个解决方案,其中传入的数据集包含有问题的单元格的NULL 行。
【讨论】:
由于SSRS中使用了Previous函数与之前唯一的记录进行比较,因此如果重复的记录不相邻,可能会导致重复的记录仍然显示。
在您应用 Previous 函数的每个表上使用排序,它也应该解决“非彼此相邻”的重复记录。
【讨论】: