我正在尝试根据Cognos中的不同条件创建计数 . 我已经看过其他帖子,但它们似乎在字段可见时工作,我需要在字段不可见时使其工作 . 当变量在报表中可见时,我可以使CASE语句工作但我无法弄清楚当我删除变量时CASE语句的工作原理 .
Cognos报告看起来像这样:
Title Test Test Status Count Passed Count Failed Count Withdrawn
Ninja Physical Aptitude Passed 50 NULL NULL
Ninja Physical Aptitude Failed NULL 23 NULL
Ninja Physical Aptitude Withdrawn NULL NULL 11
Count Passed使用以下内容:
CASE WHEN [Test Status (Condensed)] = 'Passed Group'
THEN COUNT(DISTINCT [Applicant ID])
ELSE NULL
END
Count Failed和Count WithDrawn也是如此 . 有用 . 但我的目标是每个 Headers 获得一行 . 所以,当我删除 [Test Status (Condensed)]
时,我得到一个这样的输出:
Title Test Count Passed Count Failed Count Withdrawn
Ninja Physical Aptitude 84 84 84
它不再计算每个测试状态的不同申请人,并计算所有申请人(50 23 11) .
期望的输出是:
Title Test Count Passed Count Failed Count Withdrawn
Ninja Physical Aptitude 50 23 11
你能告诉我我做错了什么吗?如果重要, [Test Status (Condensed)]
是一个定义原始 [Test Status]
中自定义组的字段 . 或者我可能需要完全做其他事情?
1 回答
将CASE移到COUNT里面......
这样想吧......
对于每个输入行,请获取申请人ID,但仅适用于
'Passed'
(ELSE NULL
是隐含的)然后计算它们(
NULL
被忽略)然后你可以有一个单独的字段,计算
Failed
...