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)
然后使用月数和年数构造日期。
我有一个输出相对简单的客户计数的报告。它输出系统中的所有内容,因为不需要数据参数。他们什么都想看。
让我困惑的是,他们想要按一个月的 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)
然后使用月数和年数构造日期。