如何在 SSRS 中对聚合进行分组和过滤

how to group and filter on aggregate in SSRS

我需要为我的 SSRS 报告报告在数据集中拥有多个记录的人数,但我不太了解如何过滤分组。

所以如果数据集结果是:

ID     PersonID    FileID
1      1234         abc
2      7890         ade
3      5647         aer
4      1234         xyz

我要举报1,有1人的记录超过1条

有没有可以用来做这个的表达式或东西?

谢谢。

如果您希望结果如下所示。

步骤:

  1. 根据个人 ID 创建群组
  2. Right Click on Group > Add Total > Before
  3. 添加一列并输入=Count(Fields!PersonID.Value)
  4. 如果只想显示拥有多个人员的人员,请设置 tablix 行的可见性 属性。

您可以使用 LookupSet 和 CountDistinct 函数来获取所需的计数,但是您将需要用于显示计算的文本框在一个范围内。

如果您想在 table 中显示拥有多个记录的总人数,请使用此表达式:

=CountDistinct(
IIF(
  LookupSet(
    Fields!PersonID.Value,Fields!PersonID.Value,
    Fields!ID.Value,"DataSetName"
  ).Length>1,Fields!PersonID.Value,Nothing)
)

将其设置在任何组范围之外:

但是,如果您想在文本框中显示在 tablix 之外拥有多个记录的人数,您可以添加一个额外的 tablix 并删除必要的行和列以仅保留一个文本框,然后设置数据集 属性 添加到您正在使用的数据集名称并使用相同的表达式。

它应该产生:

注意我的数据集有更多行来说明功能。右侧只有一个文本框显示计数。

如果有帮助请告诉我。