SSRS报告具有500+值的参数

时间:2013-02-04 17:02:42

标签: reporting-services parameters reportbuilder

我的SSRS报告中的一个参数称为客户。用户希望能够从下拉列表中选择多个客户。我们的客户名单超过500多个条目。如何在下拉列表中获取那么多值。就此而言,参数处理多少个值?有没有办法设置下拉列表能够键入以提示值?最后一个问题的一个例子就是如何在大多数表格中询问您居住的州,您可以点击列表并输入“TX”,它将向下移动到德克萨斯州而不必向下滚动。我希望这是有道理的。感谢您的所有帮助!

2 个答案:

答案 0 :(得分:1)

您不能让参数的字段与自动填充文本一起使用。 我同意在小字段中拥有500个值不是用户友好的。

我的建议是将参数拆分为2-4个不同的参数(为了使客户搜索更容易),每个参数都会根据ABC的客户名称(例如第一个参数将包含客户名称)来自AI,第二个JR,最后一个SZ)

如果是这样,您的查询应如下所示:

SELECT customerName,customerAddress,customerCity,...
FROM customerTable
WHERE (customerID IN (@customerParam1) OR customerID IN (@customerParam2) customerID IN (@customerParam3))

答案 1 :(得分:0)

我不知道如何键入值来完成第二部分,但我可以帮助您设置下拉列表。首先编写一个查询,为客户选择客户名称和唯一值。

示例:

SELECT CUSTOMER_NAME, CUSTOMER_ID
FROM CUSTOMER_TABLE

然后添加参数并选择数据类型和“允许多个值”复选框。然后在属性中单击“可用值”选项卡。一旦打开,选择“从查询中获取值”并选择刚刚编写的查询。选择后,转到“值”字段并从查询中选择唯一值,并在“标签”字段中选择客户名称,它们都应显示出来。

使用主查询中参数的值时,您需要确保使用IN函数而不是=。这是因为你不是只获得一个值,而是一次性获得所有值。

示例:

SELECT CUSTOMER_NAME,CUSTOMER_ADDRESS,CUSTOMER_CITY,...
FROM CUSTOMER_TABLE
WHERE CUSTOMER_ID IN (@CUSTOMERNAMEPARAMETER)

参数的名称是您需要使用的变量名称。

另外,只需另一个提示,您可以通过转到默认值并选择“从查询中获取值”并再次选择查询和唯一值来默认选择它们。

此外,我认为列表框中的项目限制存在问题。我已经把它提高到近1000并没有问题。