如何像报告参数一样传递报告参数?

时间:2019-04-29 20:40:41

标签: sql visual-studio-2017 ssrs-2017

我正在尝试制作一个报告,允许用户输入ID,然后对照几个收款人表检查此ID,以查看该值是否已存在。该代码需要输入,如果代码已经存在,则显示值1,如果可以使用,则显示0。将ID设置为查询参数时,这在SQL代码中有效,但是在创建SSRS报告并传递报告参数时似乎无效。该报告不显示任何数据。

我尝试添加tablix列以显示用于验证的参数。尝试传递报告参数时,此字段保持空白,但在对查询参数进行硬编码时,此字段会正确显示。

DECLARE @id varchar(8)

SELECT @id,
    CASE
        WHEN @id IN (
                    SELECT id
                    FROM payee_1
                    )
        THEN 1
        WHEN @id IN (
                    SELECT id
                    FROM payee_2
                    )
        THEN 1
        WHEN @id IN (
                    SELECT id
                    FROM payee_3
                    )
        THEN 1
    ELSE 0
    END as validation

SQL查询产生我想在SSRS报告中看到的结果。它仅显示输入ID,如果不可用则显示1(如果可用,则显示0)。当输入SSRS时,报表参数永远不会像查询参数一样通过,而我的报表最终将为空白。

1 个答案:

答案 0 :(得分:1)

打开报表进行编辑(Visual Studio)时,在“报表数据”面板中(默认情况下停靠在左侧),展开“数据集”。右键单击您的数据集,然后选择“数据集属性”。

Report Data panel in Visual Studio

在“数据集属性”窗口的左侧,单击“参数”。显示的参数是从查询中填充的。如果您有参数化查询,则可以选择将查询参数(“参数值”)绑定到报表参数,或设置其他默认值或公式等。

Dataset Properties window in Visual Studio