2016-11-20 61 views
0

我想添加一个参数,以允许用户按单位成本过滤。即如果参数单位成本,用户选择“所有成本”,它不会执行任何过滤器,并将显示所有项目。但是,如果对于参数“单位成本”,用户选择“大于0”,则仅显示单位成本> 0的项目。SSRS按参数和值条件过滤

我已声明参数有两个可用值“U”和A“。 但是,参数条件是什么样子的?我尝试添加= IIF(Parameter!Text.Value = "U", UnitCost, NOTHING) > 0的条件。 虽然这似乎没有工作,但任何人都可以提供关于如何完成的建议

+0

你在哪里执行过滤器?你还在哪里使用条件表达式? –

+0

过滤器位于Tablix上。我可以以这种方式做到这一点,也可以在数据集上进行......我的状况似乎并不奏效。而且我使用IIF语句作为表达式(如上所述)>作为运算符,值为0.但是,只有在真实的情况下才能使用。但我知道这是不正确的。我只是不确定那会是什么样子。 – a415

回答

2

您可以使用一个表达式,用于根据参数选择值确定是否应对某一行进行过滤。

在哟中添加一个新的过滤条件乌尔表矩阵和使用这些设置和表达式:

enter image description here

Expression文本框的使用:

=Switch(
Parameters!Text.Value = "All", "Include", 
Parameters!Text.Value = "U" AND Fields!UnitCost.Value > 0, "Include", 
Parameters!Text.Value = "A" AND Fields!UnitCost.Value > 10, "Include", 
true, "Exclude" 
) 

Value文本使用:

="Include" 

注意你的参数应该有一个可用价值作为条件来过滤你需要的。

enter image description here

在这种情况下,我使用A参数值来过滤UnitCost值大于10,U值过滤大于0定制UnitCost值更大,以满足您的requeriment。

让我知道这是否有帮助。

+0

谢谢。这很好。 – a415