【问题标题】:Cognos Duplicate maximum count Column valueCognos 重复最大计数列值
【发布时间】:2015-12-22 20:31:13
【问题描述】:

我正在尝试标记[Customer] 列中由[Division] 列确定的数据项的出现,并在[flag] 列中为其设置三个值。
如果数据项[Customer] 具有两个'Q ' 和 'Z' 列[Division] 的数据项值在单独的行中我希望数据项[flag] 的值对于数据项[Customer] 的每次重复出现都设置为2,其中客户是两个'Q'的成员AND 'Z' 除法。
如果存在这种情况,我希望出现[Customer] 列值的所有行的[flag] 列的值等于2。
如果@ 的数据项值[Division] 987654331@ 仅是“Q”,然后将 [flag] 设置为 1,如果 [Customer] 的数据项值 [Division] 仅是“Z”,则将 [flag] 设置为 0。
[Customer] 列数据项和多行可以包含所需的[customer] / [flag] 组合。
我将如何在下面的示例中创建列[flag]
我希望客户由唯一值分隔。
请注意,客户 X 重复 3 次,客户 A 重复两次,[flag] 列中每个值是 2 - ALL [flag] 值,其中客户连续重复是 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

【问题讨论】:

    标签: report cognos-10


    【解决方案1】:

    根据你的扩展解释试试这个:

    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,“除法”的值为“Q”,则输出 1。最后,如果count 是 1 并且 'division' 是 'Z' 然后我们输出 0。

    假设“Q”和“Z”是“除法”的唯一可能值,您可以安全地将最后一个测试更改为:ELSE 0 以简化。为了清楚起见,我包含了完整的逻辑。

    【讨论】:

    • count([Customer] for report) 这仅给出所有数据项的总数。我希望客户由唯一值分隔。请注意,客户 X 重复了 3 次,并且每次计数列中的值 - 客户 X 行的所有计数值为 2。您可以重新评估您的答案吗?
    • 我应该重新表述这个问题,不仅仅是这个。
    • 我试图将重复出现的事件与基于部门的客户的不同出现区分开来。如果客户同时在 Q 和 Z 我想将标志设置为 2。如果客户仅在 Q(可以多次)将标志设置为 1,如果客户在 Z(可以多次)设置它为 0。我希望这些值用于条件样式
    • 好的。我重写了答案以反映这一新要求。
    猜你喜欢
    • 2021-02-11
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    • 2014-04-27
    • 2015-11-01
    • 1970-01-01
    • 2023-03-30
    • 2017-02-13
    相关资源
    最近更新 更多