2013-10-08 163 views
2

我有一個數據集,它看起來像這樣顯示月份名稱值

ProjectName   MonthsThisYear CompletionDate 
ProjectA     5    5/1/2013 
ProjectB     7    7/15/2013 
ProjectC     10    10/21/2013 

我想柱狀圖中一個圖,其中Y軸是項目名稱和X軸是2013年1月,2013年2月......月

現在,針對projectA的欄必須爲5個單位長,ProjectB爲7個單位長,項目C的欄應爲10個單位長。

這樣人們可以看到ProjectA在5月份完成,ProjectB在7月完成,在10月份完成項目C.

如何繪製此圖?

目前我可以正確地繪製這個......但X-ASIX有0,2,4,6,8,10,12在上面而不是月份名稱。

我在SSRS 2008 R2上。

這是我現在看到的

enter image description here

我只是想看看在X軸月份名稱和年份。

+1

日期範圍會一直保持特定年份嗎?如果是這樣,今年有沒有機會作爲數據集的一個領域,即每一行都有一個2013年的字段? –

+1

另外,* 0 *處的標籤應該是什麼? –

+0

您可以使用'DateName(月,DateAdd(month,@MonthNumber,-1))'將您的x軸轉換爲月份名稱。函數採取從http://stackoverflow.com/questions/185520/convert-month-number-to-month-name-function-in-sql –

回答

2

也許更多一些問題的細節將是有益的,但在這裏與您的數據的工作方式一:

enter image description here

我們面臨的主要問題是,一般的日期是類別,但在這種情況下它實際上是數據值,與類別組相比,這使我們對標籤的控制更少。

首先,建立了基於ProjectName一個類別組的圖表,以及像數據表現:

=DateSerial(Year(Fields!CompletionDate.Value), Month(Fields!CompletionDate.Value), 1) 

即首先將每個CompletionDate值的一個月,否則你的酒吧將是幾個月之間。

enter image description here

接下來,我們需要理清X軸:

enter image description here

在我的例子中,我設置最低到:

=DateAdd(DateInterval.Month 
    , -1 
    , DateSerial(Year(Min(Fields!CompletionDate.Value)), 1, 1)) 

即12月爲去年。設置最大到:

=DateSerial(Year(Max(Fields!CompletionDate.Value)), 12, 31) 

即今年年底。設置間隔爲1,間隔類型爲Months

將X軸格式化爲MMM yyyy

看起來OK:

enter image description here

如果你其實可以用一個值或任何添加Year列,幾乎所有的上述表述可以簡化的。例如,我忽略了MonthsThisYear,但如果您有Year列,則可以根據MonthsThisYearYear構建月份的起始值。