2013-04-02 33 views
0

我正在使用SSRS tablix將數據排序到小時範圍(24小時內),但是,如果在該小時內沒有行, tablix將不會顯示該行/組。T-SQL/SSRS - 當沒有行可用於計數時顯示值

任何建議,我已經嘗試過CASE,iif's,甚至使用文本框作爲佔位符,並且每個小時只使用單個tablix,並且簡單地將無數據消息更改爲'0'。

+0

你能發佈你的數據源嗎? – tschmit007

+0

**選擇** 日期和時間, 種類, ID, 設備 ** ** FROM面積 ** WHERE ** 日期和時間> DATEADD(11H,7,澆鑄(@DateSet如SMALLDATETIME )) ** AND ** 日期和時間 lolnotacodecutter

+0

那麼你應該計算一個小時的列,然後從HourTable中選擇left join your query。 HourTable應該是'select 0 union select 1 ... union select 23'(創建一個「小時維度」表格聽起來是個好主意)。通過這種方式,即使空閒時間也會有一行。 – tschmit007

回答

2

你可以嘗試以下方式:

select 
    * -- better naming columns 
from 
    (
     select 0 as [hour] 
     union select 1 
     union select 2 
     union select 3 
     union select 4 
     union select 5 
     union select 6 
     union select 7 
     union select 8 
     union select 9 
     union select 10 
     union select 11 
     union select 12 
     union select 13 
     union select 14 
     union select 15 
     union select 16 
     union select 17 
     union select 18 
     union select 19 
     union select 20 
     union select 21 
     union select 22 
     union select 23 
    ) dimHour 
    left join (
     -- you query here cointaining an hour column 
    ) facts on dimHour.[hour] = facts.[hour] 

這樣,您將有至少一排一天的每一個小時。

+0

不能修改db。 – lolnotacodecutter

+1

這不是db的修改,只是寫數據源的一種方法。 – tschmit007

相關問題