2016-03-11 69 views
0

我是Cognos的新手,我正在撰寫CASE聲明並有兩個一般問題。Cognos CASE聲明

  1. 是否有更有效的方式來編寫此語句?
  2. 不同的WHEN語句可以分組在哪裏共享一個共同的 描述?

在下面的示例中,幾個WHEN子句共享一個常見的THEN結果,即'關鍵耕作'或'其他作物生產'。

您可以編寫WHEN語句:

WHEN ('Combo Primary Tillage','Disk Harrows','Field Cultivators') THEN ('Key Tillage') 

代碼CASE樣品

CASE([Class Long description]) 
WHEN('TR. 20<40') THEN ('Under 40') 
WHEN('TR. 40<60') THEN ('40-59') 
WHEN('TR. 60<100') THEN ('60-99') 
WHEN('TR. 100<140') THEN ('100-139') 
WHEN ('TR. 140<180') THEN ('140+') 
WHEN ('TR. 180+') THEN ('140+') 
WHEN('TR. 4WD') THEN ('4WD') 
WHEN('CMB CAT 5') then ('Combines') 
WHEN('CMB CAT 6') THEN('Combines') 
WHEN('CMB CAT 7') THEN ('Combines') 
WHEN('DISC MC') then ('Major Hay') 
WHEN('SICKLE MC') THEN ('Major Hay') 
WHEN('LARGE SQUARE BALER') THEN ('Major Hay') 
WHEN('SMALL SQUARE BALER') THEN('Major Hay') 
WHEN('ROUND BALER') THEN('Major Hay') 
WHEN('SP WINDROWER') THEN('Major Hay') 
WHEN('BALE THROWER') THEN('Other Hay') 
WHEN('SP SPRAYERS') THEN('Sprayers') 
WHEN('PLANTERS') THEN ('Planters') 
WHEN('COMBO PRIMARY TILLAGE') THEN ('Key Tillage') 
WHEN('DISK HARROWS') THEN('Key Tillage') 
WHEN('FIELD CULTIVATORS') THEN ('Key Tillage') 
WHEN('MIN PRIMARY TILLAGE') THEN('Key Tillage') 
WHEN('VERTICAL SEEDBED TILLAGE') THEN ('Key Tillage') 
WHEN('AIR DRILLS') THEN('Other Crop Production') 
WHEN('FLOATER APPLICATORS') THEN('Other Crop Production') 
WHEN('CHISEL PLOWS') THEN('Other Crop Production') 
WHEN('CRUMBLERS') THEN('Other Crop Production') 
WHEN('PULL TYPE SPRAYERS') THEN('Other Crop Production') 
WHEN('AIR SYSTEMS') THEN('Other Crop Production') 
WHEN('FLOATERS') THEN ('Other Crop Production') 
ELSE ([Class Long description]) 
END 

回答

2

不,不能。你可以這樣寫:

CASE 
WHEN [Class Long description] in ('Combo Primary Tillage','Disk Harrows','Field Cultivators') THEN ('Key Tillage') 
WHEN [Class Long description] in ('AIR SYSTEMS','FLOATERS') THEN ('Other Crop Production') 
..... 
END 

但是你的方法是無效的。你最好爲它創建一個表並將它加入到原始表中。