我有一个报告链接(SSRS 2008 R2):
http://reportserver/pages/reportviewer.aspx?/folder1/report1&hostname=SERVER2
此报告有一个(下拉列表)参数,其中包含主机名。 下拉列表包含以下条目:
问题是有时主机名以大写形式传递(即SERVER2),因此未在下拉列表中选择主机名与URL参数不匹配。这是因为SSRS在参数传递方面是区分大小写的。
我不想要区分大小写。
我尝试了数据集上的设置(数据集属性 - 选项 - 区分大小写),但是 那没用。
有可能吗?
下拉框或URL中的值,我无法修改。 最佳解决方案是不区分大小写的参数VALUE传递。
答案 0 :(得分:2)
使用SQL中的LOWER()
函数或SSRS中的LCASE()
函数。这个函数将字符串转换为全部小写,如果你对两边都这样做,那么有效的情况并不重要。
所以:
WHERE LOWER(fieldName) = LOWER(@parameter)
或
=LCASE(Fields!fieldName.Value) = LCASE(Parameters!selection.Value)
更多信息:
我稍微误解了你的问题。您是否通过手动生成带有参数值的网址来访问报告?这个值需要以一致的方式传递,否则这不会起作用。 SSRS区分大小写,您可以使用上述函数确保报表参数中的可用值格式一致。
但生成的URL也需要保持一致。通过这种方式,您可以明确设置参数的值,如果它不是有效的可用值,则它不会起作用。这里的问题实际上并不是SSRS,因为URL的来源不会以一致的方式生成参数值。
修复您的网址构建。