2017-07-14 72 views
0

所以我有一个多值参数比包含3个选项。 > 250K,< 250K,> 2M。 我也有一个由多列组成的表格。 Image 1 Image 2。由于该参数是一个多值,所以我无法过滤数据集。过滤数据集上的多值参数

我需要通过检查过滤数据集(如果选择> 250K,相应地过滤数据集)(如果选择< 250K,则相应地过滤数据集)和(如果选择> 2M,则相应地过滤数据集)。

我被告知要在(> 250K条件内的参数中使用连接和分割,然后做一个包含以查看它是否包含任何参数值),但我并不像编码知识那样先进能够做到这一点。

有何建议?在此先感谢

我以前试过下面的方法,但后来我意识到它不会工作,因为该参数是一个多值。

enter image description here

+0

有两个问题:1.您需要参数为多值吗? 2.您是否希望参数在查询中筛选数据集? – niktrs

+0

是的,参数需要是一个多值,您可以在报告运行时选择多个选项。是的,我还希望该参数过滤数据集在查询 –

回答

0

如果你想使用多参数,在集,您可以使用JOIN读取参数值。

例子:

如果你想在下面的例子给出一个数据集@MyParamter读取多个值:

数据集参数 enter image description here

你需要使用=JOIN(Parameters!myMultiParamter.Value,",")作为用CSV格式读取所有选定值的表达式。

表达 enter image description here

现在@ParameterValues PARAM具有所有选定值作为逗号分隔值,你可以在你的数据集代码中使用它们按设计要求。

注意:没有必要使用逗号,但你可以使用任何你想分离值的东西。

+0

您好。我很欣赏花时间为我提供解决方案。我在我的数据集中试过这个,但它仍然不行。它为我提供了一个错误,指定“无法读取数据集的下一个数据行” –

0

您的SQL查询应该在哪里像

Where 
(
(0 IN (@Parameter) AND ValueColumn<250000) 
OR 
(1 IN (@Parameter) AND ValueColumn>=250000) 
OR 
(2 IN (@Parameter) AND ValueColumn>=2000000) 
) 

一个参数

enter image description here

两个参数

enter image description here

所有参数

enter image description here

+0

此方法不起作用,因为它是一个多值参数。当您选择“全选”时,它会中断 –

+0

经过测试,它可以工作,请参阅附加的图像。 “它打破了”是什么意思? – niktrs

0

我知道它已经有一段时间,因为你提出这个,你是在正确的轨道上,但你应该需要做的是一个过滤器添加到Tablix中你会被过滤领域,用“在'运算符和值类型[@Yourparametername]中,方括号和区分大小写很重要。还要确保表达式类型是正确的,在你的情况下,它看起来像你正在使用Integer。图像应该有所帮助。 Tablix