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 @RunDate
和 usp_GetSearsSales @RunDate
)轻松解决这个问题,但这正是我想要避免的。
您只需创建两个数据集,然后对于每个数据集,右键单击数据集名称,选择属性,单击参数选项卡并覆盖 StoreName 参数的参数值。
是 - 您可以为数据集的参数设置默认值。
在数据集属性的参数选项卡中,您可以在参数值表达式框中输入(硬编码)一个值。
当然,下一个问题是为什么?可能有更好的方法。
如果您要拥有两组数据,为什么不进行一个将数据合并为一个的查询,这样您就只有一个数据集了?
我的 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 @RunDate
和 usp_GetSearsSales @RunDate
)轻松解决这个问题,但这正是我想要避免的。
您只需创建两个数据集,然后对于每个数据集,右键单击数据集名称,选择属性,单击参数选项卡并覆盖 StoreName 参数的参数值。
是 - 您可以为数据集的参数设置默认值。
在数据集属性的参数选项卡中,您可以在参数值表达式框中输入(硬编码)一个值。
当然,下一个问题是为什么?可能有更好的方法。
如果您要拥有两组数据,为什么不进行一个将数据合并为一个的查询,这样您就只有一个数据集了?