SSRS - 如果参数留空,则默认显示所有值

时间:2016-01-27 21:28:12

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

我的SSRS报告显示日期范围(2个参数)和一个名为“MeterNumber”的字段的多选值参数。

我想要的是多选参数的默认值显示所有值,直到用户指定列表中的一个值。

我尝试过将参数属性中的常规选项卡设置为“允许多个值”,将可用值和默认值设置为等于同一数据集中的相同值字段,但是没有去。

有什么想法?

4 个答案:

答案 0 :(得分:0)

您可以使用填充参数可用值的相同数据集来填充参数的默认值。

然后默认情况下,当用户首次打开报告时,将选择所有值。

答案 1 :(得分:0)

如果日期开始和结束日期为空或为空,则可以在后端分配最小日期和最长日期(记住sql中的最小日期为1/1/1753 12:00:00 AM且最大日期为{{1所以你的日期格式应该是那样的)。因此,当它传递参数时,它将获得最小开始日期和最大结束日期内的所有数据。

这是您在c#

中指定最短日期时间的方法
12/31/9999 11:59:59 PM

和最大日期

DateTime dateStart = SqlDateTime.MinValue.Value;

答案 2 :(得分:0)

数据集中是否有MeterNumber的空白和/或空值?这可能会导致参数值出现问题。因为在您的情况下您需要多个值,因此您不能具有空值。只需确保选中允许空值(“”)和允许多个值。然后,确保MeterNumber列中没有NULL值。如果这样做,则转换为空字符串,即ISNULL(AC.MeterNumber, '') as MeterNumber

答案 3 :(得分:0)

@Byronyk遇到了完全相同的问题,但是才意识到问题出在哪里(还知道这篇文章很旧,对于那些偶然发现此问题的人来说更是如此!)

我发现的问题是,可用值比默认值多一个值,这样就排除了默认选择。

一旦意识到并添加了它,便再次选择默认值。

我怀疑这是问题所在,因为日期工作正常,问题出在“ MeterNumber”参数中