SSRS报告与存储过程数据集和按月汇总 - 如何处理"空"几个月?

时间:2016-02-16 09:44:18

标签: sql-server date reporting-services aggregation ssrs-2014

我有一个SSRS报告,它调用存储过程返回两列数据集 - 一列是Date,另一个是我创建的计算列,以MMM-YYYY格式显示月份

使用此数据集,我创建了一个聚合条形图报告,显示每个月每月记录的数量,该数据集中至少有一条记录,但我希望能够在图表中包含任何月份在数据集范围内,即使它们不包含任何记录。

例如,目前我在图表上看到以下数据点:

Month        Count
-----        -----
Oct-2015     2
Nov-2015     5
Jan-2016     3
Feb-2016     6

2015年12月缺失,因为我的数据集没有返回任何记录,所以我希望能够在本月的图表上绘制零点数值。

现在我知道我通常会在SQL中执行此操作,使用某种日历表LEFT JOINed,以便我可以返回零计数的月份,但是我可以使用存储过程作为目标在SSRS中实现相同的目标主要数据集?

1 个答案:

答案 0 :(得分:1)

如果您的分组是在日期/时间(或数字)上,您可以为其设置轴类型标量

  • 创建图表,其中Count为值,Month为Category Group
  • 右键单击分组的轴(在下面的示例中为水平),然后转到“轴属性”
  • 轴类型更改为标量,并将间隔类型更改为
  • 仍然在轴属性中,将数字类别更改为ABC.dataMatrix ABC.dataVec ABC.summaryData ,将类型更改为Date(或使用自定义格式)

month chart design month chart preview

我的第一直觉是按实际日期汇总,转换为月份的第一天,而不是Jan 2000字符串。但是,似乎SSRS(在我的情况下为2008 R2)将MMM-yyyy格式的文本识别为有效日期,因此您的现有过程不需要更改。