![](/img/trans.png)
[英]MONTH(GetDate()) SQL Server 2008 R2 returning wrong month
[英]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任務來說是新的。 我確實在尋找這樣的解決方案,但找不到任何合適的解決方案。 任何幫助,不勝感激。
可以通過增強查詢來實現此要求。 說fe,您具有以下條件:
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)
然后使用月號和年號構造日期。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.