如何在 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条
有没有可以用来做这个的表达式或东西?
谢谢。
如果您希望结果如下所示。
步骤:
- 根据个人 ID 创建群组
Right Click on Group > Add Total > Before
- 添加一列并输入
=Count(Fields!PersonID.Value)
- 如果只想显示拥有多个人员的人员,请设置 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 并删除必要的行和列以仅保留一个文本框,然后设置数据集 属性 添加到您正在使用的数据集名称并使用相同的表达式。
它应该产生:
注意我的数据集有更多行来说明功能。右侧只有一个文本框显示计数。
如果有帮助请告诉我。
我需要为我的 SSRS 报告报告在数据集中拥有多个记录的人数,但我不太了解如何过滤分组。
所以如果数据集结果是:
ID PersonID FileID
1 1234 abc
2 7890 ade
3 5647 aer
4 1234 xyz
我要举报1,有1人的记录超过1条
有没有可以用来做这个的表达式或东西?
谢谢。
如果您希望结果如下所示。
步骤:
- 根据个人 ID 创建群组
Right Click on Group > Add Total > Before
- 添加一列并输入
=Count(Fields!PersonID.Value)
- 如果只想显示拥有多个人员的人员,请设置 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 并删除必要的行和列以仅保留一个文本框,然后设置数据集 属性 添加到您正在使用的数据集名称并使用相同的表达式。
它应该产生:
注意我的数据集有更多行来说明功能。右侧只有一个文本框显示计数。
如果有帮助请告诉我。