Cognos 重复最大计数列值
Cognos Duplicate maximum count Column value
我正在尝试标记 [Customer]
列中由 [Division]
列确定的数据项的出现,并在 [flag]
列中为其设置三个值。
如果数据项 [Customer]
在单独的行中具有列 [Division]
的“Q”和“Z”数据项值,我希望数据项 [flag]
的值在每次重复出现时都设置为 2数据项 [Customer]
,其中客户是“Q”和“Z”部门的成员。
如果存在这种情况,我希望 [flag]
列的值全部等于 2 [Customer]
列值出现的行。
如果 [Customer]
的数据项值 [Division]
仅为“Q”,则将 [flag]
设置为 1,如果数据项[Customer]
的值 [Division]
仅为“Z”,然后将 [flag]
设置为 0。
[Customer]
列数据项有数千个可能的值和多个行可以包含所需的 [customer] / [flag]
组合。
如何在下面的示例中创建列 [flag]
?
我希望客户按唯一值分隔。
注意客户 X 重复 3 次,客户 A 重复两次,每个 [flag]
列中的值为 2 - ALL [flag]
值,其中 a客户重复 连续是 2.
期望的结果:
Customer Rep division Count
A : 1 : Q : 1
B : 2 : Z : 0
X : 3 : Q : 2
X : 4 : Z : 2
X : 4 : Q : 2
D : 5 : Z : 0
S : 3 : Q : 2
H : 4 : Q : 1
S : 4 : Z : 2
根据您的扩展解释试试这个:
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
我们为 'Customer' 的每个值计算 'division' 的不同值。如果计数是 2,我们知道 'Q' 和 'Z' 都被表示,我们输出整数 2。如果计数是 1 并且 'division' 的值是 'Q' 那么我们输出 1。最后,如果计数为 1 且 'division' 为 'Z',则我们输出 0。
假设 'Q' 和 'Z' 是 'division' 的唯一可能值,您可以安全地将最后一个测试更改为:ELSE 0 以简化。为了清楚起见,我包含了完整的逻辑。
我正在尝试标记 [Customer]
列中由 [Division]
列确定的数据项的出现,并在 [flag]
列中为其设置三个值。
如果数据项 [Customer]
在单独的行中具有列 [Division]
的“Q”和“Z”数据项值,我希望数据项 [flag]
的值在每次重复出现时都设置为 2数据项 [Customer]
,其中客户是“Q”和“Z”部门的成员。
如果存在这种情况,我希望 [flag]
列的值全部等于 2 [Customer]
列值出现的行。
如果 [Customer]
的数据项值 [Division]
仅为“Q”,则将 [flag]
设置为 1,如果数据项[Customer]
的值 [Division]
仅为“Z”,然后将 [flag]
设置为 0。
[Customer]
列数据项有数千个可能的值和多个行可以包含所需的 [customer] / [flag]
组合。
如何在下面的示例中创建列 [flag]
?
我希望客户按唯一值分隔。
注意客户 X 重复 3 次,客户 A 重复两次,每个 [flag]
列中的值为 2 - ALL [flag]
值,其中 a客户重复 连续是 2.
期望的结果:
Customer Rep division Count
A : 1 : Q : 1
B : 2 : Z : 0
X : 3 : Q : 2
X : 4 : Z : 2
X : 4 : Q : 2
D : 5 : Z : 0
S : 3 : Q : 2
H : 4 : Q : 1
S : 4 : Z : 2
根据您的扩展解释试试这个:
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
我们为 'Customer' 的每个值计算 'division' 的不同值。如果计数是 2,我们知道 'Q' 和 'Z' 都被表示,我们输出整数 2。如果计数是 1 并且 'division' 的值是 'Q' 那么我们输出 1。最后,如果计数为 1 且 'division' 为 'Z',则我们输出 0。
假设 'Q' 和 'Z' 是 'division' 的唯一可能值,您可以安全地将最后一个测试更改为:ELSE 0 以简化。为了清楚起见,我包含了完整的逻辑。