SSRS。如何从存储过程中传递参数报告中的值?

时间:2015-03-20 08:19:56

标签: sql sql-server reporting-services parameters

我有多个不同版本的报告(每个版本都有不同的用户),我需要创建下拉过滤器,以便选择在选择版本中分配的用户。我使用以下存储过程来接收用户列表,具体取决于版本。

CREATE PROCEDURE sp_ContList
@version INT
AS
BEGIN
    SELECT [User] 
    FROM FormInstances 
    WHERE FormVersionId = @version
    GROUP BY [User]
END

现在我需要在报告中创建下拉过滤器( Microsoft Visual Studio 2013 ),例如@version = 1。如何在SSRS中正确传递参数值?

2 个答案:

答案 0 :(得分:1)

创建参数并从创建的参数中选择可用值。然后将创建的数据集与过程分配给数据集下拉列表。从该数据集中设置值字段和标签字段。

答案 1 :(得分:0)

使用存储的proc.In参数部分创建数据集,设置@version参数指向报表中的@version参数,添加将成为下拉过滤器的参数,在参数属性中可以从查询中选择可用值/数据集。然后,您可以选择用户作为显示文本,也可以选择值。然后,您可以使用默认值设置版本号,然后将其传递到存储过程并在下拉列表中返回正确的用户。

此外,Microsoft建议您避免使用sp_前缀来命名存储过程,因为这是系统存储过程的保留前缀。