0

计算 % 准确度:

(实际日期 - 计划日期)/计划日期 ~ 超过或低于 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%)
4

1 回答 1

0

您需要使用为项目预算的天数作为除数,而不是计划的完成日期。

在 SQL Server 或任何其他上下文中,除以日期没有数学意义,因为日期是一个间隔测量尺度。这意味着没有有意义的零,因此时间比例只能对一小部分时间有意义。

在您的示例中,由于您说错过一个项目一年会丢失 100%,您的计算应该是: (6/15/2013 - 5/1/2013) / 365 * 100 或者在 SQL Server 中类似于:选择(日期(日期,'2013-06-15','2013-05-01')/ 365)* 100

这为您提供了完成项目所需的天数与预期天数的比率。

如果你用日期 2013-05-01 替换那个 sql 语句中的 365,你会得到与你期望的非常不同的东西,因为时间又没有真正的零,所以 sql server 任意选择了一个。

在您的预算小时数示例中,您永远不会将 (3000 - 1000) / 1000 表示为 (3000 - 1000) / 5/1/2013

但这正是您在日期计算中尝试的,只是在不同的时间范围内。

天数的差异是正确的。但它是(天,周,月......)的百分比。你错过了多少百分比(天,几周,几个月......没关系)。– 用户2912796

这很重要。当您想要以天为单位的结果和以天为单位的股息时,您插入 365,就像您在几个小时内所做的那样。如果您切换到另一个时间间隔进行除数,您还必须切换除数。

于 2013-10-24T06:14:59.300 回答