s-s-rS 中的自定义 tablix 过滤器
Posted
技术标签:
【中文标题】s-s-rS 中的自定义 tablix 过滤器【英文标题】:Custom tablix filters in s-s-rS 【发布时间】:2013-02-28 12:43:12 【问题描述】:我有一份报告,其中显示了一个完整的原始数据表。 在输入此报告之前,父报告会要求您选择“服务”和“部门” 根据您从父报告中选择的服务/部门,此 RAW 数据将被过滤以显示相关数据。
直截了当,而且效果很好。
我现在有一个新要求。 如果选择的服务等于“服务 X”,我需要在该服务、部门再次过滤数据,还需要在他们的“团队”上添加额外的过滤器。
以便在团队与运行报告团队的用户匹配的地方也将过滤数据。
我已经创建了一个数据集,它返回运行报告“团队”的用户 还有一个名为“团队”的新参数,默认为运行报告的用户的广告编号”
新的要求是,如果是Service = X
,那么过滤该部门的数据,还要过滤THAT用户“团队”的数据,如果Service不等于X,什么都不做。
我想我需要更改 Tablix 属性的过滤器部分,但不确定我需要在表达式、运算符、值中添加什么
到目前为止,我已经在表达式中尝试了=IIf(Fields!Service.Value = "Service X", Fields!Team.Value, nothing)
,将运算符设置为In
,并尝试从存储当前用户“团队”的新数据集中过滤“团队”,但它不起作用。
有人有什么建议吗?
【问题讨论】:
【参考方案1】:对于这些类型的条件过滤器,我使用IIf
语句(或其他)返回一个字符串并基于它进行过滤,例如类似:
=IIf(Parameters!Service.Value <> "Service X" or Parameters!Team.Value = Fields!Team.Value
, "Include"
, "Exclude")
然后您可以将运算符设置为=
,将过滤器值设置为Include
。根据我的经验,它似乎更强大。
阅读此内容后,您甚至可以将 IIf
语句设置为数据集中的计算列并对其进行过滤。
【讨论】:
以上是关于s-s-rS 中的自定义 tablix 过滤器的主要内容,如果未能解决你的问题,请参考以下文章
s-s-rS 2008:如何在不使用向导的情况下定义 Table/Tablix 样式?
如何在 s-s-rS 中使用 OR 关键字在 tablix 过滤中使用 LIKE