ssrs :参数与查找相结合
ssrs : parameter combined with a lookup
我遇到了以下问题
我是运行下面的存储过程。它有一个参数,@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) 这个window 正在弹出
我正在尝试在参数值,但它给了我这个
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 [...]
你知道为什么吗?
更新:请在下面找到我的数据集查询的屏幕截图
我没有找到解决问题的方法。但是,我找到了一个不错的解决方法。
我没有创建存储过程,而是将部分代码放入 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
然后设置合适的数据集(见下文)
和select正确的参数(见下文)
一旦完成,一切都在工作
我遇到了以下问题
我是运行下面的存储过程。它有一个参数,@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) 这个window 正在弹出
我正在尝试在参数值,但它给了我这个
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 [...]
你知道为什么吗?
更新:请在下面找到我的数据集查询的屏幕截图
我没有找到解决问题的方法。但是,我找到了一个不错的解决方法。
我没有创建存储过程,而是将部分代码放入 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
然后设置合适的数据集(见下文)
和select正确的参数(见下文)
一旦完成,一切都在工作