我在 SSRS 报告中的参数之一称为客户。用户希望能够从下拉列表中选择多个客户。我们的客户名单超过 500 多个条目。如何在下拉列表中获得这么多值。就此而言,一个参数将处理多少个值?有没有办法将下拉列表设置为能够输入提示值?最后一个问题的一个例子就像在大多数要求您居住的州的表格上,您可以单击列表并键入“TX”,它会向下移动到德克萨斯州,而不必向下滚动。我希望这是有道理的。提前感谢您的所有帮助!
问问题
4373 次
2 回答
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))
于 2013-02-05T19:20:29.447 回答
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)
参数的名称是您需要使用的变量名称。
另外一个提示,您可以通过转到默认值并选择“从查询中获取值”并再次选择您的查询和唯一值来将它们全部默认选中。
此外,我认为列表框上的项目数量限制没有问题。我已经达到了将近 1,000 并且没有任何问题。
于 2013-02-05T02:56:05.793 回答