IBM Cognos Report Studio 按ID和日期汇总小时数后去重实现咨询
IBM Cognos Report Studio 按ID+日期去重并汇总小时数实现方案
方法1:调整查询聚合属性(最简方案)
- 打开对应报表的查询编辑器,将查询属性中的自动分组和汇总设置为
是 - 对查询内的各个字段分别设置聚合属性:
id、date字段聚合属性选分组type字段聚合属性选最大值(字符串排序中work首字母晚于overtime,取最大值即可保留你需要的work类型记录)hours字段聚合属性选总计
- 直接运行查询即可得到目标结果,无需额外新增计算项或过滤器
方法2:修复running-count过滤逻辑(适配你原有操作路径)
你之前操作后小时数变为1,是因为过滤后原hours字段的聚合逻辑被重置,按以下步骤修正即可:
- 新增计算项
汇总小时数,公式为total ([hours] for [id],[date]),将该字段的聚合属性设置为不聚合 - 新增计算项
分组行号,公式为running-count (1 for [id],[date]),将该字段的聚合属性设置为不聚合 - 为查询新增明细过滤器:
[分组行号] = 1,过滤作用范围选择明细过滤 - 最终报表展示字段选择
id、date、type、汇总小时数即可,无需保留原hours字段
方法3:嵌套查询方案
如果上述两种方案受报表权限限制无法使用,可以用嵌套查询实现:
- 内层查询仅保留
id、date、hours三个字段,将hours聚合属性设为总计,按id、date分组,得到每个ID+日期组合的汇总小时数 - 外层查询关联内层查询和原数据集,关联条件为id、date字段相等,新增过滤器
[type] = 'work',输出对应字段即可
内容的提问来源于stack exchange,提问作者liquidkat
相关产品推荐
相关产品推荐

