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

Can SSRS dataset have a default value?

我的 SSRS 报告有一个调用 usp_GetStoreSales @Rundate, @StoreName.

的数据集 (datasetMacys)

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

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

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

存储过程看起来像这样,即使它并不是真正需要的问题:

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

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

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

您只需创建两个数据集,然后对于每个数据集,右键单击数据集名称,选择属性,单击参数选项卡并覆盖 StoreName 参数的参数值。

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

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

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

如果您要拥有两组数据,为什么不进行一个将数据合并为一个的查询,这样您就只有一个数据集了?