2016-11-09 128 views
0

我有一個報告,輸出相對簡單的客戶數。它從系統輸出所有內容,因爲不需要數據參數。他們想看到一切。SSRS 2008 R2報告。更改月份從日曆月份分組

投擲我的東西是,他們想要在一個月的24日到下個月的23日分組。

例如在2016年十月份應該算2016年10月24日之間的所有數據,以2016年11月23日,以前的Septeber應組寄託都之間24/09/2016到23/10/2016等等等等

總之,是否可以將月份的第24個月到下個月的第23個月分組?

很高興能提供更多信息,對於像這樣的高級ssrs任務有點新。我確實在尋找這樣的解決方案,但找不到合適的解決方案。任何幫助不勝感激。

+0

我想應用SQL中的分組,與我們分享您的查詢。 –

+0

您的權利,謝謝,我會讓sql做腿部工作。 – ChipChipowsky

回答

1

這個需求可以通過增強你的查詢來實現。說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) 

,然後使用月份數anhd年數構建日期。

+0

謝謝。我曾考慮編寫一個sql函數來返回這個月,但你的是一個更優雅的解決方案。我一定會告訴聖誕老人這件事!再次感謝。 – ChipChipowsky

+0

哈,不客氣:)如果我的回答對你有幫助,你可以將其標記爲已接受) – grafgenerator