互联网服务商业智能studio

cognos报表去重问题

数据库表中有3条记录,如下表:


                                            
abcde
212015/9/28  19:552015/9/30  12:49dfd
312015/9/28  19:552015/9/30  12:59d22
422015/9/28  19:552015/9/30  12:59rrr

报表中如何显示b,c字段相同,d字段最大的记录,要显示如下:

                                  
abcde
312015/9/28  19:552015/9/30  12:59d22
422015/9/28  19:552015/9/30  12:59rrr

不知道这个需求report studio如何实现。

参与17

3同行回答

天空就是一天空就是一软件开发工程师天涯
你可以这样做:根据b,c对d进行排序,d最大的是1,然后2,3,4……,然后只显示d=1的,其他隐藏显示全部

你可以这样做:

根据b,c对d进行排序,d最大的是1,然后2,3,4……,然后只显示d=1的,其他隐藏

收起
软件开发 · 2015-12-10
浏览1009
cognos_baoyzcognos_baoyz研发工程师北京泛鹏天地科技有限公司
1、sql处理最方便2、多查询引用,第一个查询中定义好max(d),第二个查询中,使用此max(d)限定显示全部

1、sql处理最方便

2、多查询引用,第一个查询中定义好max(d),第二个查询中,使用此max(d)限定

收起
互联网服务 · 2015-12-10
浏览979
sealinksealink技术总监sealink.com
问题出在你查询结果的[E]列上,如果在报表中设定查询的[D]列为取MAX值,你的列表上还有【E】,那就不会给塞选出2条记录,还是会显示3天记录。正确的做法,定义2个查询查询1只有B、C、D列,其中D列设定为聚合为MAX;查询2只有A、B、D、E列。然后把查询1和查询2关联,通过B、D列值等条件关...显示全部

问题出在你查询结果的[E]列上,如果在报表中设定查询的[D]列为取MAX值,你的列表上还有【E】,那就不会给塞选出2条记录,还是会显示3天记录。


正确的做法,定义2个查询

查询1只有B、C、D列,其中D列设定为聚合为MAX;

查询2只有A、B、D、E列。

然后把查询1和查询2关联,通过B、D列值等条件关联起来,就是你要的结果。

收起
银行 · 2015-12-15
浏览1447
  • cognos在页面拖报表其实有自己的逻辑,但是核心原来还是基于SQL,首先想想如果SQL查这样的结果应该怎么查,呵呵
    2015-12-15

提问者

lirenyao
软件开发工程师coreware

相关问题

相关资料

问题状态

  • 发布时间:2015-12-09
  • 关注会员:4 人
  • 问题浏览:3189
  • 最近回答:2015-12-15
  • X社区推广