2013-01-21 80 views
1

我希望這是一個簡單的問題,但是我現在一直在撞牆。我想在SSRS 2008中創建一個柱形圖,列的寬度始終相同,列間空間寬度始終相同。值得注意的是,圖表並不總是具有相同數量的列。在SSRS 2008柱狀圖中左對齊固定寬度的列

以下是我在方案1與12列:

enter image description here

以下是我在方案2,具有4列:

enter image description here

我想看到更像情景3的東西:

enter image description here

截至目前,這是一個非常簡單的柱形圖。我所做的唯一真正的修改,我覺得很重要的一點是,我已經在Chart Series - > Custom Attributes部分中將PixelPointWidth值設置爲20。這確保了列全部保持相同的大小。我注意到同一部分中的PointWidth值用於控制列之間的間距,但是通過使列變大/變小來適合。當PixelPointWidth值大於零時,PointWidth值不起作用。

請幫我找到方法來保持列寬相同,並保持列之間的寬度相同!

+1

也許[動態寬度](http://blogs.msdn.com/b/robertbruckner/archive/2008/10/27/charts-with-dynamic-size-based-on-categories-or-data。 aspx)是一個合適的解決方法? – Jeroen

+0

這是一個非常好的主意,我從未見過。當我有更多時間時,我將需要在明天做更多的嘗試。我遇到的最初的問題是我的圖表標題相當長,並且不必將其分解成小圖表的小塊。實際上,我將擁有的列數量最少,因爲我需要保持列不變,以支持最多20列。 – Joseph

+0

您可以將圖表標題放置在圖表上方的單獨文本框中,具有固定寬度,也可以爲具有特定最小值的動態圖表寬度創建表達式。祝你好運。 – Jeroen

回答

2

操縱您的數據集,以便始終爲值01至值12提供行,併爲度量指定空值。然後在圖表的分類組屬性中,如果度量爲空(或使用另一列作爲標誌),則使用Label屬性的Iif函數將其設置爲空字符串「」。

+0

完成!這可能不是所有人的答案,但它指出了我的正確方向。幾個簡單的說明:我必須將其放入存儲過程,然後運行查詢以查找我需要的最大行數(條/列),然後在實際查詢中使用該值來選擇最高的記錄數。我發現虛擬記錄中我無法選擇空白字符串或null,因爲它需要是唯一值才能顯示在圖表上。我從sys.columns中選擇了DISTINCT top x column_id以獲取唯一值。現在它的工作原理就是我需要它的。再次感謝! – Joseph