![](/img/trans.png)
[英]SSRS Report Builder - Only Show Header On First Page (With Page Numbers)
[英]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.