Reporting services ssrs参数值区分大小写

Reporting services ssrs参数值区分大小写,reporting-services,sql-server-2008-r2,parameter-passing,case-insensitive,Reporting Services,Sql Server 2008 R2,Parameter Passing,Case Insensitive,我有一个报告链接(SSRS 2008 R2): 此报表有一个(下拉列表)参数,其中包含主机名。 下拉列表包含以下条目: 服务器1 服务器2 服务器3 问题是,有时主机名是以大写形式传递的(即SERVER2),因此在下拉列表中未选择主机名与URL参数不匹配。这是因为SSRS对于参数传递是区分大小写的 我不想区分大小写 我尝试在数据集上设置(数据集属性-选项-区分大小写),但是 那是行不通的 可能吗 下拉框或URL中的值,我无法修改。 最好的解决方案是不区分大小写的参数值传递。使用SQL中的LO

我有一个报告链接(SSRS 2008 R2):

此报表有一个(下拉列表)参数,其中包含主机名。 下拉列表包含以下条目:

  • 服务器1
  • 服务器2
  • 服务器3
问题是,有时主机名是以大写形式传递的(即SERVER2),因此在下拉列表中未选择主机名与URL参数不匹配。这是因为SSRS对于参数传递是区分大小写的

我不想区分大小写

我尝试在数据集上设置(数据集属性-选项-区分大小写),但是 那是行不通的

可能吗

下拉框或URL中的值,我无法修改。 最好的解决方案是不区分大小写的参数值传递。

使用SQL中的
LOWER()
函数或SSRS中的
LCASE()
函数。此函数用于将字符串转换为所有小写,如果同时转换为两侧,则大小写无关紧要

因此,要么:

WHERE LOWER(fieldName) = LOWER(@parameter)

更多信息:

更新 我稍微误解了你的问题。那么您是通过手动生成包含参数值的URL来访问报告的?此值需要以一致的方式传递,否则将无法工作。SSRS区分大小写,您可以使用上述函数确保报告参数中的可用值格式一致

但生成的URL也需要一致。这样做就是显式地设置参数的值,如果它不是一个有效的、可用的值,那么它将不起作用。这里的问题不是真正的SSRS,而是URL的源没有以一致的方式生成参数值


修复URL结构。

报告的源查询在哪里。您可以在源查询中将主机名和QWERTY转换为相同的大小写。请参见示例,它与报表查询无关。。。这个问题是关于参数的(下拉列表)。我知道它是关于参数的。但是这些参数(下拉列表)值不是最终传递到源查询吗?我的想法是,您可以接受大写或小写形式的参数,然后在数据源查询中根据需要进行对话。同样,这与SQL无关。我对SQL相当了解……这更多的是一个SSRS问题,我不会把这称为SSRS的问题。您显式地将参数设置为无效的、可用的值。URL的构造需要始终如一地进行。更新了答案。哈哈…问题是区分大小写。我希望SSRS将SERVER1视为与Server1SRS区分大小写一样,您无法更改这一点。至少不是你做事的方式。您需要修复生成URL的任何内容。
WHERE LOWER(fieldName) = LOWER(@parameter)
=LCASE(Fields!fieldName.Value) = LCASE(Parameters!selection.Value)