2012-04-20 61 views
1

見圖像: enter image description hereSSRS條形圖顯示數據,即使值低

橙色項目總是比藍色項顯著降低,但不顯示在圖表上的橙色,有沒有任何方式無論橙色值有多低,總是會有一小段橙色,以便用戶可以清楚地看到哪個數字與橙色值相關。

回答

3

有一個更簡單,更優雅的方式來做到這一點(至少在SSRS 2008 R2)。我不確定SSRS 2008或2005中有什麼可用的。

對於要顯示小值軸,

  • 套裝CrossAtMinimum性質爲負數,足以顯示在報表中。
  • IntervalOffset屬性設置爲相同的數字,但爲正數。

這將使得該報告的其他軸爲低於0,使得具有非常低(或甚至0)值仍然會顯示顏色的量小。您選擇的負值和圖表的最大值將決定此顏色切片的大小。

下面是這種技術的一個例子,以顯示顏色的少量用於0%:

bar chart with 0% showing

如果離開了CrossAt屬性,則杆從y軸漂走,留下一個缺口。您必須使用上面提到的所有屬性才能使顏色一直延伸到0軸線。

重要提示:設計模式下的圖表不能正確顯示。它會顯示一個負數,開始X軸而不是0,但不相信你的眼睛。當您實際預覽報告時,結果將是正確的。不要讓自己被設計模式預覽拋棄!

2

有一對夫婦的,我用這取決於大多數真正重要的終端用戶解決此方式:

1)最大值爲1%的增量數據欄 - 即場B +( MAX(Fields!a.value)/ 100),然後確保數據標籤僅顯示字段B的值,以便數據欄不會100%準確,但標籤會顯示。

2)在輔助軸上繪製字段B的數據,然後將最大值固定爲最大字段A值的一部分。

這兩者都依賴於不存在包含值的軸,但值是從標籤本身派生的。

3)將條形的數據標籤格式化爲藍色/橙色字體或藍色/橙色填充 - 當您需要保留軸上的值時,這是最有用的。然後,您可以使用條件格式僅在標籤中顯示的值太小而無法顯示標籤(即<最大圖表值的1%)時對標籤着色。

就我個人而言,我會推薦選項3),因爲如果其他開發人員稍後再來,可能會出現操縱數據欄長度的問題!

1

1)將圖表中的MAX值存儲到變量(nChartMaxVal)中。

僞代碼:

SubstValueNegligableValue(pValue, nChartMaxVal) as Double 
       If pValue < (nChartMaxVal/10) then 

        pValue = nChartMacVal/10 'Sets Value to 10% of MaxChartValue' 

       Endif 

       Return pValue 

3)P值應該是要評估圖表值

2)你的圖表等。無論價值引用發生創建一個函數的地方。

希望這可以引導你。

如果您使用的是存儲過程,那麼您可以在該處構建該邏輯並在適用的情況下返回調整後的值。我建議讓proc返回一個標誌,儘管這表示如果已經進行了替換,那麼您可以在某個地方自動對報告發表評論,告訴用戶查看圖表已經進行了替換。

有關條件格式的信息,請參閱上面的Davins輸入。這將有助於從真正的價值中挑選出替代價值。即也許用相同顏色的替代值交叉影線以顯示不同。

乾杯

的Mac