SSRS数据集可以具有默认值吗?

时间:2018-10-29 14:56:41

标签: sql-server tsql reporting-services sql-server-2008-r2 ssrs-2008

我的SSRS报告有一个调用datasetMacys的数据集(usp_GetStoreSales @Rundate, @StoreName)。

数据集可以有默认值吗?这样,报表将只要求一个参数(@Rundate),并且数据集中嵌入了字符串值“ Macys”吗?

换句话说,用户不必为第二个参数选择一个值,因为它已经是该数据集的默认值。

然后我将添加第二个数据集(datasetSears),其中@StoreName的默认值为“ Sears”,这意味着它将仅使用用户选择的@Rundate

存储过程看起来像这样,尽管实际上并不需要它:

create procedure usp_GetStoreSales 
(
    @RunDate date,
    @StoreName varchar(10)
)
as

select * from [Sales] 
where RunDate = @RunDate and StoreName = @StoreName

我可以通过创建两个不同的存储过程(即usp_GetMacysSales @RunDateusp_GetSearsSales @RunDate)来轻松解决此问题,但这正是我要避免的事情。

2 个答案:

答案 0 :(得分:2)

您只需要创建两个数据集,然后为每个数据集依次单击数据集名称,选择属性,单击“参数”选项卡并覆盖StoreName参数的参数值。

答案 1 :(得分:2)

是-您可以为数据集的参数设置默认值。

在“数据集属性”的“参数”选项卡中,可以在“参数值”表达式框中输入(硬编码)一个值。

enter image description here

当然下一个问题是为什么?可能会有更好的方法。

如果要同时拥有两组数据,为什么不进行将数据合并为一个数据集的查询,以便只有一个数据集?