【问题标题】:SSRS. How to pass value in report for parameter from stored procedure?SSRS。如何在报告中为存储过程中的参数传递值?
【发布时间】:2015-03-20 08:19:55
【问题描述】:

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

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中的参数值?

【问题讨论】:

    标签: sql sql-server reporting-services parameters


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多