0

我正在尝试制作一个允许用户输入 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 时,报告参数永远不会像查询参数一样通过,并且我的报告最终是空白的。

4

1 回答 1

1

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

Visual Studio 中的报告数据面板

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

Visual Studio 中的数据集属性窗口

于 2019-04-29T21:24:48.983 回答