我遇到了以下问题
我正在运行下面的存储过程。它有一个参数 @choix_de_l_adresse
,作为输入
CREATE PROCEDURE Adresse1
@choix_de_l_adresse VARCHAR(38)
AS
BEGIN
SELECT John_Jack.Siren,
CASE
WHEN John_Jack.Adresse1_Eco IS NULL THEN ''
WHEN John_Jack.Adresse1_Post IS NULL THEN ''
WHEN (John_Jack.Adresse1_Eco IS NOT NULL
OR John_Jack.Adresse1_Post IS NOT NULL)
AND @choix_de_l_adresse = 'Adresse Postale' THEN Adresse1_Post
ELSE Adresse1_Eco
END AS adresse1
FROM John_Jack
END
当我使用管理工作室控制台时,存储过程正常运行。
我在ssrs
中设置了参数但是,在将存储过程设置为数据集时,我遇到了一些问题:
1)此窗口弹出
我试图在参数值中添加 [@ choix_de_l_adresse @] 或 @choix_de_l_adresse ,但它正在给我这个
2)我试图强行参与,因为我已经在互联网上看到但无济于事
最后,但并非最不重要的是我正在进行lookup
组合下面的参数
=Lookup(Fields!Siren.Value,Fields!Siren.Value,Parameters!adresse1.Value,"adresse1")
然而它给了我致命的子弹Report item expressions can only refer to fields within the current datascope [...]
你对这个原因有什么看法吗?
更新:请在下面找到我的数据集查询的截屏
答案 0 :(得分:0)
我没有找到如何解决我的问题。但是,我找到了一个不错的解决方法。
我没有创建存储过程,而是将部分代码放入ssrs
代码现在就像这样
DECLARE @choix_de_l_adresse VARCHAR(38)
SELECT John_Jack.Siren,
CASE
WHEN John_Jack.Adresse1_Eco IS NULL THEN ''
WHEN John_Jack.Adresse1_Post IS NULL THEN ''
WHEN (John_Jack.Adresse1_Eco IS NOT NULL
OR John_Jack.Adresse1_Post IS NOT NULL)
AND @choix_de_l_adresse = 'Adresse Postale' THEN Adresse1_Post
ELSE Adresse1_Eco
END AS adresse1
FROM John_Jack
然后设置正确的数据集(见下文)
并选择适当的参数(见下文)
一旦完成,一切都在处理