2014-07-04 193 views
0

我正在使用SQL服务器来尝试计算这个虽然公平问题是更多的数学/逻辑基础。数学 - 百分比问题增加数字达到百分比

我需要弄清楚如何获得特定百分比的呼叫接收/回答比率,例如, 80%

所以,如果它目前为12/6 - 50%,我需要工作了多少个电话需要进来,没有任何被丢弃获得80%, 只有我才能制定出方式是通过试验和错误,

13/7 = 54% 
16/10= 63% 
24/18= 75% 
30/24= 80% 

我能想到的唯一办法在目前要做到这一点,直到比例达到80,但它已经有一段时间的学校,我敢肯定有一个1,每次加一个变量更好的方法。

感谢

+0

我要补充的是SQL Server 2008的 – Tamzoid

回答

0

如果当前的百分比,CP

CP = A/B

,你问多少添加到一个获得百分比p那么这只是一个基本的数学,并告诉我

(a + x)/ b = p

CP + X/B = P

X = B(对 - CP)

例如:

电流7/13 = 0.5385 = CP

期望4/5 = 0.8

增加13 *(0.8 - 0.5385)= 3.4 = X比7拿到10.4/13 = 0.8

+0

嗨,这心不是很我的问题无论是作为若B增加,因此也将在,这只是告诉我该怎么添加到得到的百分比不是吗? – Tamzoid

+0

是的,它告诉你什么号码添加到一个获得所需的百分比p – 4pie0

0

这是相当简单:

current = a/b 
target (pt) = (a + x)/(b + x) 
pt(b + x) = a + x 
pt b + pt x = a + x 
pt b - a = x - pt x = x(1 - pt) 

x = (pt b - a)/(1 - pt) 

只要你的目标百分比表示为十进制(0.8),而不是百分比(80),这将工作:

DECLARE @TotalCalls float; 
DECLARE @CallsNotDropped float; 
DECLARE @PercentageToReach float; 
DECLARE @Result float; 

SET @TotalCalls = 13; 
SET @CallsNotDropped = 7; 
SET @PercentageToReach = 0.8; -- 80% 

SET @Result = ((@PercentageToReach * @TotalCalls) - @CallsNotDropped) 
      /(1 - @PercentageToReach); 

SELECT 
    @Result As 'Number to add/subtract', 
    @TotalCalls + @Result As 'New total', 
    @CallsNotDropped + @Result As 'New not dropped', 
    100 * ((@CallsNotDropped + @Result)/(@TotalCalls + @Result)) As 'New %' 
; 

/* 
Output: 

| Number to add/subtract | New total | New not dropped | New % | 
| 17      | 30  | 24    | 80 | 
*/ 
+0

哈哈,我们对简单:P的不同意见,但这是perefect。欢呼声 – Tamzoid

-1

这里的公式:你可以直接做到这一点SQL;无需存储过程:

NewCallsNeeded = (TargetRatio * TotalCalls - DroppedCalls)/(1 - TargetRatio) 
+0

所以基本上,我提前55分钟发布的同一个公式,但是“未接听电话”替换为“已接听电话”,因为您没有正确地阅读问题? > :(: –

+0

向下投票我的回答并没有改变你没有正确地阅读这个问题,没有设法正确地复制答案,也没有包括对答案的任何解释。> :( –