SSRS 2008 R2 报告。从日历月更改月份分组

SSRS 2008 R2 Report. Change month grouping from calender month

我有一个输出相对简单的客户计数的报告。它输出系统中的所有内容,因为不需要数据参数。他们什么都想看。

让我困惑的是,他们想要按一个月的 24 日到下个月的 23 日分组的月份。

例如,2016年10月应该计算2016年10月24日至2016年11月23日之间的所有数据,前一个9月应该将2016年9月24日至2016年10月23日之间的所有数据分组等等。

简而言之,是否可以使用当月的 24 日到下个月的 23 日对月份进行分组?

很高兴提供更多信息,对于像这样的高级 ssrs 任务来说有点新。我确实搜索过这样的解决方案,但找不到合适的解决方案。非常感谢任何帮助。

可以通过增强您的查询来实现此要求。说 f.e.,你有以下内容:

select
  t.Date,
  t.AggregatedField
from SomeSchema.SomeTable as t

您接下来可以做的事情:

select
  MonthNumber = 
    case 
      when DATEPART(DAY, t.Date) >= 24 then DATEPART(MONTH, t.Date)
      else DATEPART(MONTH, t.Date) - 1
    end,
  t.AggregatableField
from SomeSchema.SomeTable as t

您将获得的输出类似于 (month_number, field_to_aggregate)。然后,您需要按 month_number 对数据进行分组,您可以直接在 SQL 中进行分组,或者使用 RDL 报告分组(首先考虑提供最佳性能)。 要构造月份名称,您可能需要提取年份数字,如下所示:

DATEPART(YEAR, t.Date)

然后使用月数和年数构造日期。