前几天帮用户做了一个Active Report自己感觉做的蛮炫的(自夸一下),但是后来用户提到要增加一个时间筛选的功能。如下图:
一般的Active Report都是根据单个值选择报表,区间的选择还真没做过。当时跟用户讲图表中动态过滤时间区间可能无法实现。因为这是由于active rpeort的特性决定的。所有图表在active report中都保存为图片,根据过滤值的个数,就有多少张图片。如果是一个区间,那么排列组合就太多了。比如可选择10个值,就得有45张图片。所以可能cognos限制了这样的筛选方式。
但是用户一定坚持要实现这种方法,因为我们的要求是根据月份选择,所以组合方式也不会太多。我的解决办法是在数据库中作出所有的FromTo的组合(类似下面的表):
From To
1 1
1 2
1 3
.........
然后用这张表做选择就实现了。但是区间非常大的话就不适用了,MHT的离线文件会非常大或者根本就产生不了MHT文件。 另外吐槽一下IBM在这方面的资料真的是太少了,培训都是收钱的。