首页 > 解决方案 > SSRS 如何设置默认参数不是全选,而是使用 where 子句作为默认参数?

问题描述

我有一个来自 sql 查询的带有多值参数的报告:

SELECT USER_ID, USER_NAME FROM USERS

我想使用 where 子句设置该参数的默认值。我要设置的默认值:

SELECT USER_ID, USER_NAME FROM USERS WHERE STATUS = 'ACTIVE'

我使用上述查询创建了 2 个单独的数据集,第一个设置为可用值,第二个设置为默认值,它可以工作。

我的问题是,有没有更好的方法可以在不创建另一个数据集的情况下做到这一点?谢谢!

标签: reporting-servicesssrs-2008ssrs-2012

解决方案


为默认值添加另一列,并在那里使用您的默认条件:

SELECT USER_ID, USER_NAME, CASE WHEN STATUS = 'ACTIVE' THEN USER_ID ELSE 0 END AS DEFAULT_ID
FROM USERS 

将 USER_ID 用于可用值,将 DEFAULT_ID 用于默认 USER_ID 值。

这假设您的 ID 不为 0 - 如果您的 ID 为 0,则使用 -1。


推荐阅读