2016-03-11 72 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 

但是你的方法是无效的。你最好为它创建一个表并将它加入到原始表中。