2013-10-23 35 views
0

計算%精度:計算%精度:(實際日期 - 計劃日期)/計劃日期在MS SQL 2010或2013

(實際日期 - 計劃日期)/計劃日期〜4.2%的上方或下方因日期。

我有一個datediff股息,但不是除數。

我可以在excel中執行,但不能在sql中執行。

您的估算準確度如何?

Plan Deploy Date = 5/1/2013 

Actual Deploy Date = 6/15/2013 

Algorithm = (Actual Date - Plan Date)/Plan Date 

(6/15/2013 - 5/1/2013)/5/1/2013 *100.0 = 10.9% (missed plan date by approx 11%) 
+2

那麼相對於一年錯過的百分比是多少?因此,如果我的計劃部署日期爲2013年5月1日,而實際部署日期爲2014年5月1日,它是否錯過了100%?一般來說,這似乎是一種奇怪的方法來量化這種情況,因爲你本質上是採取任意值來定義比例。爲什麼不跟蹤天數的差異? –

+0

如果實際日期和計劃日期相同,該怎麼辦? – Malachi

+0

如果實際日期和計劃日期相同......您處於0%。你打了你的約會。 – user2912796

回答

0

您需要將項目的預算天數用作除數而非計劃完成日期。

按日期劃分並不意味着數學意義,因爲日期是interval measurement scale.這意味着沒有有意義的零,因此時間的比例只有對於小的時間子集纔有意義。

在你的榜樣,因爲你說,在一年缺少一個項目將是100%它缺少你的計算應該是: (2013年6月15日 - 2013年5月1日)/ 365 * 100 或者在SQL Server的東西是這樣的: SELECT(DATEDIFF(DAY,'2013-06-15','2013-05-01')/ 365)* 100

這給你的天數完成項目和預計的天數。

如果您要將該sql語句中的365替換爲2013-05-01日期,您將得到與您期望的內容完全不同的內容,因爲再次沒有實際的零,所以sql server已經任意選擇了一個。

在您的預算小時例如,你永遠不會表達(3000 - 1000)/ 1000爲(3000 - 1000)/ 2013年5月1日

但是,這正是你試圖在你的日期計算什麼,只是在不同的時間範圍內。

天的差異是正確的。但是它是由(幾天,幾周,幾個月......)的百分之幾。百分之幾(幾天,幾周,幾個月......無所謂),你錯過了。 - user2912796

這很重要。如果您想要在幾天內獲得結果並且在幾天內獲得分紅,您就可以插入365,就像您在幾個小時內完成的那樣。如果您切換到另一個時間間隔的股息,您還必須切換除數。

+0

謝謝比爾..很有幫助! – user2912796

+0

如果我的回答有幫助,請考慮將其標記爲已接受的答案。否則,你可以留下另一條評論,讓我知道這個答案仍然缺失。謝謝。 –