首页 > 解决方案 > 带有参数的 SSRS 存储过程无法正常工作

问题描述

我有一份 SSRS 报告,它从直接查询中导入数据。(我写的类似)

select a.[Ultimate Parent Account],b.[Account Internal ID],b.[Parent Account ],count(*) as Opportunities
from T_OPTYLINEVIEW_REP a
inner join T_OPTYVIEW_REP b on a.[Opportunity ID]=b.[Opportunity Internal ID]
where a.[Ultimate Parent Account] in (@Ultimate_Acct_ID)
group by a.[Ultimate Parent Account],b.[Account Internal ID],b.[Parent Account ]

现在,如果我希望这是我做的存储过程->

create procedure testing_proc(@ultimateaccount varchar(100))
as
select a.[Ultimate Parent Account],b.[Account Internal ID],b.[Parent Account ],count(*) as Opportunities
from T_OPTYLINEVIEW_REP a
inner join T_OPTYVIEW_REP b on a.[Opportunity ID]=b.[Opportunity Internal ID]
where a.[Ultimate Parent Account] IN (select * from STRING_SPLIT(@ultimateaccount, ','))
group by a.[Ultimate Parent Account],b.[Account Internal ID],b.[Parent Account ]

当我将此 proc 放入 SSRS 时,它的行为很奇怪,就像我在参数中选择“全部”时才拉几行一样。就像它只拉了 4 到 5 行,有时只有 3 行,而且这些行一直都是不同的。

但是当我使用直接查询并保持参数选择“全部”时,它会提取大约 9000 行的所有数据。

那么为什么我的 proc 不能正常工作呢?如果问题是多选中的逗号,我也使用了 STRING_SPLIT。

标签: sql-serverreporting-services

解决方案


推荐阅读