我在Microsoft 2008中有这个特定的问题:
我必须执行一个存储过程,它将以相同的列返回数据,但格式不同:
EXEC Main_SP
@View = .....
IF @View = Yearly,
BEGIN
EXEC SP_Yearly_Data
END
IF @View = Quarterly,
BEGIN
EXEC SP_Quarterly_Data
END
IF @View = Monthly,
BEGIN
EXEC SP_Monthly_Data
END
IF @View = Weekly,
BEGIN
EXEC SP_Weekly_Data
END这四个过程都将有相同的数据结构,即。相同的列,只有分组不同,因此行数也会不同。
这在SSRS中会成功吗?
有更好的方法吗?
SSRS报表设计器中的数据集是否会快速刷新以提供与所提供的@View参数相关的数据?
如有任何建议,将不胜感激。
请注意,四个内部过程中的每一个都有一些3-4个参数,都是相同的.
发布于 2014-07-12 04:58:17
可以在SSRS报表中的SQL查询中使用IF语句。我不明白为什么您的SQL不能工作。
但是,我认为创建一个主存储过程比其他存储过程更简洁,该存储过程除其他存储过程外还使用@View参数,并且它将执行条件分支并返回结果。这还允许您将其作为存储过程在SSRS数据集中运行,而不是在其中包含大量IF条件的SQL语句中运行。
更改参数值时,需要重新运行报表,但它将返回正确的数据集,而不是使用缓存的数据集,因为参数的值将发生更改。
https://stackoverflow.com/questions/24701523
复制相似问题