报表服务器:如果参数 = null 或空白,如何选择所有内容(启用多个值)
Posted
技术标签:
【中文标题】报表服务器:如果参数 = null 或空白,如何选择所有内容(启用多个值)【英文标题】:Report Server: how to select everything if parameter = null or blank (allow multiple values is turned on) 【发布时间】:2021-05-12 06:20:30 【问题描述】:如果参数值为空或空,如何返回报表服务器中的所有内容?
解决办法:
SELECT some_column
FROM your_table
WHERE (@y is null or y >= @y)
在 s-s-rS 中不起作用,因为当参数“允许多个值”打开时,“允许空值”无法打开。
谢谢。
【问题讨论】:
【参考方案1】:有几种方法可以解决这个问题,但最简单的方法是使用多值参数列表顶部出现的“全选”选项。如果您需要将其设为默认值,则将默认值和可用值设置为同一查询。
当列表中有多个值时,多值参数会自动显示“全选”选项,如此处所示。
其他方式类似,例如,您可以在参数的可用值列表顶部添加一个值,该值具有名为“All”或类似标签的标签以及您可以在查询中查找的值(例如 -1 )。
顺便说一句:如果直接在数据集查询中使用您的示例代码将无法使用多值参数,您通常会执行类似的操作
SELECT some_column
FROM your_table
WHERE (@y =-1 OR y IN(@y))
【讨论】:
艾伦,非常感谢您的建议。我没有在参数属性/常规中找到“全选”选项。我在哪里可以找到这个?关于我的代码,每次我尝试将 @y 与某些东西(无论如何)进行比较时,它都会引发错误。我现在所做的一切:1)放置查询:where(y in(@y)或@y ='')2)定义查询参数:y =以上是关于报表服务器:如果参数 = null 或空白,如何选择所有内容(启用多个值)的主要内容,如果未能解决你的问题,请参考以下文章
如果搜索参数为空白或缺失/错误,我如何使用 Xpath 函数“contains()”不返回任何内容?