reporting-services - 在 SSRS 参数中获取多个整数值

标签 reporting-services ssrs-2008

如何将多个整数放入 SSRS 参数的值字段,以便可以在 WHERE 子句中使用 IN 语句?

请耐心等待。我认为这最终会是一个简单的语法问题,但解释太长了。

我有一份报告,希望将其分为两种类型的员工:Dedicated 和 Bureau。确定激活发生的时间是唯一的方法,专职工作人员在除 12 点和 13 点(中午至下午 2 点)之外的所有时间都在工作。

我创建了一个名为 @AgentType 的参数,并在 SQL 查询中添加了一个 where 子句

Where

[Hour] in (@AgentType)

然后,我将参数的数据类型设置为整数,并设置可用值,如图所示。 settings

这作为一个测试非常有效,但是如果我尝试准确地模拟工作时间

enter image description here

SSRS 删除了我的逗号并将整数转换为 1234567...我还尝试使用表达式 =1,2,3... 但这在报告运行时导致了错误。

所以我的问题基本上是如何将多个整数放入 SSRS 参数的值字段,以便我可以在 WHERE 子句中使用 IN 语句?

最佳答案

这个解决方案可能适合您。您可以创建两个参数:AgentTypeAgentTypeHidden

对于 AgentType 设置两个可用值,如下所示:

enter image description here

AgentTypeHidden 必须隐藏并设置为允许多个值:

enter image description here

不要使用此表达式设置任何可用值,而是设置默认值:

=IIF(
   Parameters!AgentType.Value=1,
   SPLIT("1,2,3,4,5,6,7,8,9,10,11,14",","),
   SPLIT("12,13",",")
)

同时为 AgentTypeHidden 参数设置始终刷新

enter image description here

最后,在查询中使用 AgenTypeHidden 参数。

Where [Hour] in (@AgentTypeHidden)

请告诉我这是否有帮助。

关于reporting-services - 在 SSRS 参数中获取多个整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39638047/

相关文章:

reporting-services - 如何在ssrs中的每个页面中重复文本框

reporting-services - 跨数据集或子报表重用 Web 服务响应

reporting-services - 当表没有行时,将表的可见性设置为 false(在报告服务中)

visual-studio - SSRS "member not found (exception from HRESULT: 0x80020003 DISP_E_MEMBERNOTFOUND"Visual Studio2019 社区

sql - 如何将使用动态 SQL 的存储过程转换为非动态 SQL (SSRS)?

.net - Oracle 连接到 .Net - 连接池

sql-server-2008 - SSRS 不同的首页标题

reporting-services - 在报告中显示窗口帐户用户的全名

sql-server - SSRS中 "Internal"参数的使用规则是什么

reporting-services - SSRS(不一致)用 HTML 实体代码替换特殊字符