0

我正在构建一个具有数据集查询的报告,例如:

(有4个工作代码,1、2、3、4)

SELECT First, Last, WorkCode
FROM MyTable
WHERE Department = @Department

我们想添加一个参数,允许用户在 NO WorkCode 2 的情况下运行报告,因此查询将是:

SELECT First, Last, WorkCode
FROM MyTable
WHERE Department = @Department
AND WorkCode <> 2

但如果不制作两个单独的报告,我不确定如何做到这一点。

4

2 回答 2

1

只需将另一个参数添加到名为 WorkCode 的报告中,并将变量名称添加到查询中。在报表参数属性窗口的可用值下,选择“指定值”或“从查询中获取值”。

这是您使查询的最后一行看起来像的样子:

AND WorkCode <> @WorkCode

如果您希望用户能够选择多个值,请在“报告参数属性”窗口的常规选项卡上选择“允许多个值”,并使查询的最后一行如下所示:

AND WorkCode NOT IN (@WorkCode)

如果 WorkCode 参数是可选的,请在属性窗口中选中“允许空值”复选框,然后在查询中执行以下操作:

 AND ((WorkCode NOT IN @WorkCode) OR (ISNULL(@WorkCode, '') = ''))
于 2013-09-09T22:37:25.027 回答
0

您可以根据您的第一个查询为所有报表项使用一个数据集,还可以向一个或多个报表项添加过滤器以进一步缩小数据集的范围。

因此,如果您想阻止WorkCode 2出现在 Tablix 中,您可以应用过滤器来检查=Fields!WorkCode.Value<> 2

或者您可以基于此参数,即过滤器将是=Fields!WorkCode.Value<> =Parameters!WorkCode.Value

于 2013-09-09T22:36:30.107 回答