根据报告服务中的子组内容过滤主要组成员
Filter main group members based on subgroup content in reporting services
在 Reporting Services 2008 中,我遇到了过滤器分组问题。
我想根据子组值的某些组合删除主组中的一些条目。
我可以创建一个表达式,当组合在组内或相反时显示 true,但如果我将此表达式应用于组,它只是 returns false,因此所有组都被删除。
=IIF((Fields!Group2.Value Like "String1") AND (Fields!Group3.Value Like "String2"),
1,
IIF(Not(Fields!Group2.Value Like "String1"), 1, 0))
如果第 2 组的所有成员和第 3 组的所有成员都符合上述条件,则应该显示第 2 组和第 3 组的其中一个成员 returns false 组中的条目1 应删除。
如果我将上述表达式添加到第 1 组过滤器,它总是 return 1.
问题是第一组中的成员是否由 1,1,1,1 或 1,1,0,1 组成 - 在第一组中总是 returns 1。
我能做什么?
听起来您需要逐个检查一组值,如果其中任何一个未通过测试,则产生错误结果。它可能会帮助您使用这样的表达式:
=count("your_group") <= sum(iif(Fields!your_field.Value = yourCondition, 1, 0), "your_group")
这会获取您组中的总行数,然后与某行满足您设置的条件的次数总和进行比较。因此,如果一行未通过测试,表达式将为 return false。此表达式的重要部分之一是 "your_group" 部分 - 这称为指定范围,如果您想在表达式中引用不同的组或级别,这很重要。更多详细信息 here。您可能需要做一些工作才能使它适合您。
在 Reporting Services 2008 中,我遇到了过滤器分组问题。
我想根据子组值的某些组合删除主组中的一些条目。
我可以创建一个表达式,当组合在组内或相反时显示 true,但如果我将此表达式应用于组,它只是 returns false,因此所有组都被删除。
=IIF((Fields!Group2.Value Like "String1") AND (Fields!Group3.Value Like "String2"),
1,
IIF(Not(Fields!Group2.Value Like "String1"), 1, 0))
如果第 2 组的所有成员和第 3 组的所有成员都符合上述条件,则应该显示第 2 组和第 3 组的其中一个成员 returns false 组中的条目1 应删除。
如果我将上述表达式添加到第 1 组过滤器,它总是 return 1.
问题是第一组中的成员是否由 1,1,1,1 或 1,1,0,1 组成 - 在第一组中总是 returns 1。
我能做什么?
听起来您需要逐个检查一组值,如果其中任何一个未通过测试,则产生错误结果。它可能会帮助您使用这样的表达式:
=count("your_group") <= sum(iif(Fields!your_field.Value = yourCondition, 1, 0), "your_group")
这会获取您组中的总行数,然后与某行满足您设置的条件的次数总和进行比较。因此,如果一行未通过测试,表达式将为 return false。此表达式的重要部分之一是 "your_group" 部分 - 这称为指定范围,如果您想在表达式中引用不同的组或级别,这很重要。更多详细信息 here。您可能需要做一些工作才能使它适合您。