【问题标题】:SSRS - Why is my table duplicating rows?SSRS - 为什么我的表重复行?
【发布时间】:2013-05-22 05:06:23
【问题描述】:

我正在 SSRS 中创建报告。我有一个显示报告生成日期和时间的表格,它是一个带有一个表达式 =Now() 的单列表,并且没有链接到任何数据集。

我遇到的麻烦是它返回的 77 行都具有完全相同的日期。我的主数据集在不同的表中返回 77 行,但该表未以任何方式链接到该表。

如何阻止它返回这么多行?我使用表格而不是文本框的原因是因为我希望它具有与报告中显示的其他数据相同的外观和感觉,即标题行和下面显示的数据。有几个表使用相同的方法,并且所有表都返回重复的行。如下图所示,我只需要每个表的第一行。

编辑:当我插入新表时,看起来 SSRS 会自动引用数据集。当我将表属性数据集更改为无时,它会返回错误。有没有解决的办法?我不想要任何数据集的数据,只想使用一个简单的表达式 =now()

【问题讨论】:

  • 如果它是您要过滤的第一条记录,那么您可以安全地使用其他表中的 =First(Field!Values,"TopGroup") 作为您其他表组的过滤条件想要过滤。
  • 最好不要使用表格来显示日期,只需将它们放在文本框中。

标签: reporting-services ssrs-2008 ssrs-2008-r2


【解决方案1】:

如您所见,Tablix 需要一个 DataSet,当您在报表中只有一个 DataSet 时,它会在某些情况下自动链接到该 DataSet。

您提到您不想使用文本框,但这似乎是最简单的选择。

如果您设置使用 Tablix 以便于格式化,为了防止任何重复的行,只需删除通过设计器创建表时默认设置的详细信息组:

这会留下一个只有一个标题行的表格 - 您可以根据需要添加更多标题行:

结果是一个只显示一次标题行的表格,即没有重复的行。

您可以将汇总数据或数据集中的单个字段添加到这些标题行;如果没有指定聚合,则默认只取第一行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    相关资源
    最近更新 更多