2017-05-05 68 views
-1

的百分比我有以下值作爲查詢的結果。基於值,單元必須進行顏色編碼。SQL計算高於或低於

Value Goal 
------------ 
9.33 12 
含有

O單元的值將被顏色編碼基於輸入的目標相比,值 被着色綠色細胞如果值等於或低於目標 被着色黃色細胞如果值是在5%以內上述目標 細胞如果值超過5%以上的目標,是紅色

請指導如何內或高於目標

+1

你嘗試過這麼遠嗎? – Jens

+0

你問的是如何計算百分比或如何返回每行不同的顏色名稱?顏色編碼是一個客戶關心的問題,所以您不應該做任何事情而不是計算百分比。 –

+0

我認爲'[VALUE_5 +] =目標* 1.05,[Value_5-] =目標* 0.95' –

回答

0

測試值計算值5%:

DECLARE @t_temp TABLE (Val NUMERIC(16,2), 
         Goal NUMERIC(16,2)) 

INSERT INTO @t_temp (Val, Goal) 
VALUES (9.33, 12), 
(12,12), 
(12.15, 12), 
(12.66, 12), 
(14, 12); 

查詢:

SELECT *, 
     CASE 
     WHEN Val <= Goal   THEN 'GREEN' 
     WHEN Val <= (Goal * 1.05) THEN 'YELLOW' 
     ELSE       'RED' 
     END AS 'Color' 
FROM @t_temp; 

結果:

Val          Goal         Color 
--------------------------------------- --------------------------------------- ------ 
9.33         12.00         GREEN 
12.00         12.00         GREEN 
12.15         12.00         YELLOW 
12.66         12.00         RED 
14.00         12.00         RED 
+0

謝謝。這正是我所需要的 – SilverFish

+0

@SilverFish請標記您的解決方案,以便您的問題顯示爲已回答。 – Jens