3

我有一份报告,它返回产品名称和其他产品规格列表。该报告目前有不同的搜索选项。我的用户现在还希望能够通过输入多个产品编号来按产品编号进行搜索。

如何按产品编号添加过滤器,这是可选的多值文本框?我试图添加一个多值文本框。当没有输入值时,报告似乎不起作用。如果我在文本框中输入一个或多个产品编号,它似乎可以正常工作。有没有办法告诉报告没有过滤 Null 值参数?或者任何其他使用可选多值参数的想法?

这是我的多值文本框的设置

    Name = ProductNumber
    Prompt = Product Number
    Data Type = Text
    Allow Blank Value (checked)
    Allow Null value (not checked)
    Allow Multiple Values (checked)

这是数据集过滤器

    Expression = [ProductNumber]
    Operator = In
    Value = [@ProductNumber]

谢谢

TL

4

2 回答 2

3

我认为您应该通过以下方式欺骗数据集过滤器:

  1. 表达式应该检查参数是否为空,如果是,则给表达式 1 否则字段。
  2. 值应该进行相同的检查,如果参数为空白,则将值设置为 1,否则将其设置为参数。

但请保留您的运营商。


或者,您可以在 SQL 中类似地执行此操作,并且具有更大的灵活性和性能。

于 2013-02-28T09:27:37.463 回答
2

因此,正如您在自己的测试中看到的那样,必须使用多值参数选择至少一个值。您不能Allow null value在设计时设置为 true,如果您在未选择任何值的情况下运行报告,则会引发错误消息。

因此,您不能真正拥有一个报告,用户可以在不选择任何值的情况下运行它。

退后一步,您在忽略参数时试图实现的是默认包含所有产品编号。那么为什么不将参数设置为选择所有产品编号的默认值呢?这样,如果用户不想按Product Numbers过滤,他们可以忽略并全部勾选。对我来说似乎是一个很好的解决方法。

为此,请使用填充参数的相同数据集设置参数的默认值:

在此处输入图像描述

现在选择了所有产品编号,用户只需要在他们想要返回其中的一个子集时采取行动。

于 2013-02-28T09:31:48.517 回答