我正試圖找出一個sql表格的趨勢,該表格包含在設定的時間段內輸入文件系統文件夾的文件條目。我有一個包含日期時間,另一個包含所有我感興趣的文件夾中的一個表時,我加入(右外),這兩個我得到一個表像下面:跨表格的數據趨勢
Jan 2012, folder A 2
Jan 2012, folder B 4
Feb 2012, folder A 2
Feb 2012, folder B 2
但是,如果沒有信息已輸入一個日期間隔,我只是得到空值,所以 2012年3月,null,null
有什麼辦法,我可以爲每個文件夾添加到此表中的零?這會給我:
Jan 2012, folder A 2
Jan 2012, folder B 4
Feb 2012, folder A 2
Feb 2012, folder B 2
Mar 2012, folder A 0
Mar 2012, folder B 0
然後我需要計算出過去幾個月趨勢對每個文件夾,以便對文件夾中的 - 2月之間的差爲0和二月三月和這之間-200%給我的決賽桌:
Jan 2012, folder A 2 0 (first month no data)
Jan 2012, folder B 4 0 (first month no data)
Feb 2012, folder A 2 200% (increase on Jan)
Feb 2012, folder B 2 -50% (decrease on Jan)
Mar 2012, folder A 0 -200% (decrease on Feb)
Mar 2012, folder B 0 -200% (decrease on Feb)
這將最終在SSRS報告結束了,所以如果該趨勢在查詢或通過報表生成器發生了也沒關係。
任何幫助,這將不勝感激。
我的表模式是這樣的:
文件夾表:
DECLARE @folders TABLE (folderId int, folderPath varchar(500))
文件表:
DECLARE @filessAdded TABLE
(fileId int,
parentId int,
folderPath varchar(500),
eventDate DATETIME,
folderId int);
日期表 - 動態填充基於在一定時期內例如,幾個月時間間隔:
DECLARE @dates TABLE (DateOf VARCHAR(500));
我最後的查詢如下所示:
select isnull(Total,0),
folder,
dates.DateOf,
trend
from @filesAdded as files
right join @dates as dates on files.DateOf = dates.DateOf
什麼是您正在使用的查詢?你的數據模式是什麼樣的(即表和字段名稱)? – mellamokb 2012-03-28 20:09:43
@Kievia:不應該%更改列閱讀:0,0,0,-50%,-100%,-100%? – 2012-03-29 08:13:30
是的,寫作太遲了 – Kievia 2012-03-29 13:25:28