Cognos重复最大计数列值

时间:2015-06-05 16:09:03

标签: report cognos-10

我正在尝试标记列[Customer]确定的列[Division]中数据项的出现次数,并在列[flag]中为其设置三个值。
如果数据项[Customer]在单独的行中同时包含列[Division]的“Q”和“Z”数据项值我希望每次重复出现的数据项时数据项[flag]的值都设置为2 [Customer]其中客户是“Q”和“Z”分部的成员。
如果存在此条件,我希望[flag]列的值等于2的所有行{ {1}}列值出现。
如果[Customer]的数据项值[Division]仅为“Q”,则将[Customer]设置为1,如果数据项值为{{1} } [flag]只有'Z',然后将[Division]设置为0.
[Customer]列数据项有数千个可能的值,多行可以包含所需的{ {1}}组合。
如何在下面的示例中创建列[flag]
 我希望客户用唯一值分隔。
注意客户X重复3次,客户A重复两次,每个[Customer]列中的值为2 - [customer] / [flag]值客户重复连续是2.

期望的结果:

[flag]

1 个答案:

答案 0 :(得分:0)

根据您的扩​​展说明尝试此操作:

CASE count(distinct [division] for [Customer]) 
WHEN 2 THEN 2 
WHEN 1 AND [division] = 'Q' THEN 1 
WHEN 1 AND [division] = 'Z' THEN 0 
END

我们为“客户”的每个值计算“除法”的不同值。如果计数为2,我们知道'Q'和'Z'都被表示,我们输出整数2.如果计数为1并且'division'的值为'Q',那么我们输出1.最后,如果count为1,'division'为'Z',然后输出0。

假设'Q'和'Z'是'division'唯一可能的值,您可以安全地将最后一个测试更改为:ELSE 0以简化。为了清晰起见,我提供了完整的逻辑。