簡體   English   中英

SSRS Report Builder - 在條形圖上顯示零值的列

[英]SSRS Report Builder - Show colums with zero value on bar chart

我創建了一個一周的預測圖表,預測下一周我們將收到的包裹數量。 數據集查詢正在抓取每天的列,然后報表生成器正在計算相關的跟蹤號。 我的問題是它會跳過計數值為 0 包的列。 例如,它從今天到 +2 天,如果 count(tomorrow)=0 則跳過明天。 我希望報告顯示所有列,無論計數為 0。 有任何想法嗎?

Select 查詢供參考 -

SELECT 
    TrackingNumber,
    case when DATEDIFF(DAY,GETDATE(),ScheduledDelivery)=0 then' Today'
         when DATEDIFF(DAY,GETDATE(),ScheduledDelivery)=1 then' Tomorrow'
         when DATEDIFF(DAY,GETDATE(),ScheduledDelivery)=2 then'+2 Days'
         when DATEDIFF(DAY,GETDATE(),ScheduledDelivery)=3 then'+3 Days'
         when DATEDIFF(DAY,GETDATE(),ScheduledDelivery)=4 then'+4 Days'
         when DATEDIFF(DAY,GETDATE(),ScheduledDelivery)=5 then'+5 Days'
         when DATEDIFF(DAY,GETDATE(),ScheduledDelivery)=6 then'+6 Days'
        else NULL
        end as 'Delivery Day'

在不知道數據集完成后的樣子的情況下,很難給出准確的答案,但我們假設它看起來像

曲目編號 交貨日期 一個號碼
ABC123 今天 5
ABC123 +2 天 3
ABC123 +3 天 7
ABC123 +4 天 8
ABC123 +6 天 9

你希望它看起來像這樣......

曲目編號 交貨日期 一個號碼
ABC123 今天 5
ABC123 明天 0
ABC123 +2 天 3
ABC123 +3 天 7
ABC123 +4 天 8
ABC123 +5 天 0
ABC123 +6 天 9

然后,您可以創建一個包含所有可能值的表(或表變量)並將其加入。 您也可以簡化查詢,因為您將不再需要 case 語句

就像是

DECLARE @t TABLE(DelDays int, DelCaption varchar(20))
INSERT INTO @t VALUES
(0, 'Today'),
(1, 'Tomorrow'),
(2, '+2 Days'),
(3, '+3 Days'),
(4, '+4 Days'),
(5, '+5 Days'),
(6, '+6 Days')

SELECT 
        a.TrackNo, t.DelCaption, ISNULL(a.ANumber,0) AS ANumber
    FROM @t t
    LEFT JOIN myTable a 
        ON t.DelDays = DATEDIFF(DAY,GETDATE(),ScheduledDelivery)

如果您經常這樣做,那么我建議您創建一個新表來永久保存我們在上面的示例中放入@t的數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM