2016-10-05 35 views
0

我在SQL Server 2014上使用SSRS和報表生成器3.0.
一個非常常見的情況是將客戶的營業額顯示爲條形圖。
但是,如果一個月內沒有營業額,那麼這個月根本就不存在,這給圖表所代表的數字造成了錯誤的印象。

SSRS圖表在缺失記錄中顯示爲零

SQL查詢給了我這個回:

Year,Month,Turnover 
2014,12,1000 
2015,03,5000 
2015,04,10000 
2015,05,12000 

等等...

Chart with missing values

正如你所看到的,有缺失值,我不能影響。 所以它應該檢測,如果有一個缺失值,然後填充零。 對於這樣一個常見問題,必須有一個優雅的方法。

有大量的解決方案在那裏爲NULL或零值,但不是缺少值。

+0

我相信你可以將橫軸設置爲類別的軸類型。這樣所有的值都會顯示 – NickyvV

+0

您可以做的一件事是創建一個包含年份和月份列的表格,包括數據中存在的所有年份和月份,然後您可以將該表格與查詢中使用的表格一起加入即使沒有特定月份的營業額數據,也可以每年使用所有月份。 –

回答

0

圖表無法顯示結果集中不存在的任何數據。

無論如何,你必須把失蹤的年份和月份的虛擬數據。

您可以在當前數據集中修改如下所示的內容。

Select Year,Month, max(Turnover) Turnover 
from 
(
    Select Year,Month,Turnover from Actualtable 
    UNION ALL 
    select 2014, 12, 0 
    UNION ALL 
    Select 2015, 01, 0 
    UNION ALL 
    Select 2015, 02, 0 
    UNION ALL 
    Select 2015, 03, 0 
    UNION ALL 
    Select 2015, 04, 0 
    . 
    . 
    . 
    . 
) x 
group by Year,Month 
order by Year,Month 
0

如果進入水平軸屬性,請將軸類型設置爲標量。將最小值設置爲1,將最大值設置爲12,將間隔設置爲1.您可能需要使用類別組和系列組。