SSRS和PostgreSQL:如何传递可选参数?

时间:2015-12-29 19:48:04

标签: postgresql reporting-services parameters dataset ssrs-2012

我在SSRS报告中使用PostgreSQL ODBC数据源。

根据我之前对MS SQL Server数据源的了解,要将可选参数传递给SSRS数据集查询,您可以这样做:

SELECT *
FROM MyTable
WHERE SomeField = @Param1 OR @Param1 IS NULL

关键是使用OR @Param1 IS NULL,它基本上绕过SomeField = @Param1部分并有效地充当“可选”过滤器。但是,这在使用PostgreSQL ODBC数据源时似乎不起作用(不确定它是由于Postgres还是ODBC或两者兼而有之)。单击“刷新字段”或执行/预览报告时出现错误。

这可能部分是由于无法将命名参数传递给SQL,而是必须使用“?”像这样:

SELECT *
FROM MyTable
WHERE SomeField = ?

......这使得基本上不可能OR ? IS NULL

那么,有谁知道我如何能够将可选参数传递给SSRS中的PostgreSQL数据集?

1 个答案:

答案 0 :(得分:2)

不是特定的ODBC解决方案,而是一种解决方法。如果<td>不能SomeField

,这将有效
null

如果select * from mytable where somefield = coalesce(?, somefield) 可以是SomeField,并且您想要返回空值:

null

检查is distinct from