场景:--我有一份报告,它为代理在特定的日期范围(通常是昨天的同一天)提取统计数据,并将其设置为参数。我已经在Visual报表生成器中构建了报表,并且报表工作得很好。
挑战:一些特工被取消了电话,而是在那天处理电子邮件。因此,尽管它们已登录,但无法将它们添加到调用队列统计数据中。
需要:,我需要添加参数,这些参数可以从下拉(Ctrl+select)中选择代理,并让报表在被选中的代理中运行employeeID,而不是在其中运行。然后,我需要在报表生成器中添加这些参数,以显示为下拉列表,这样用户就可以将ctrl+select代理排除在外。
问题:我知道如何创建一个参数来排除一个代理。如何创建参数以排除多个代理?有时,可能是0特工,有时他们是10。
我正在使用2014。
发布于 2017-03-15 00:56:50
您需要在dataset查询中添加一个参数,例如,假设一些非常简单的表来说明,AgentID是代理的唯一键。
SELECT {your list of columns} FROM AgentCalls
WHERE
(AgentID NOT IN (@myParamName) OR ISNULL(AgentID,'')='')这将显示所有代理,如果没有被选中,或者它将排除代理(如果有)。
然后,您需要填充参数的可用项列表,在这种情况下,它将是代理列表。因此,创建另一个名为dsAgents的数据集,使用类似于
SELECT AgentID, AgentName FROM Agents ORDER BY AgentName在参数设置中,将参数设置为多个值,并允许为空和空,在可用值中,选择dsAgents作为查询,使用AgentID字段作为值,使用AgentName字段作为标签。
SSRS将自动将所选参数值的列表转换为逗号分隔的列表,并在in子句中使用,您没有什么需要做的了。
P.S.这是凌晨1点的记忆,所以可能不是点对点,但它应该足够好,可以跟随。。
注意:不需要控制,参数列表将显示复选框。
发布于 2022-03-09 14:29:29
试试下面的代码:
SELECT {your list of columns} FROM AgentCalls
WHERE
(AgentID NOT IN (@myParamName) OR @myParamName is ISNULL)https://stackoverflow.com/questions/42797825
复制相似问题