Cognos中根据数据增长显示红绿灯

用户有一个需求,需要对比前后列的数值,如果负增长用红灯表示,正增长用绿灯,如果没有增长用黄灯表示。计算前后列数据的不同值可以使用Cognosrunning-difference

 

方法1:打开GoSales(Query)的Package,使用库存名称空间的”国家或地区”,“期初盘存”两个字段,先创建列表拖入这两个字段。在查询中创建两个新的数据项,分别命名为”runningdifference”和”Color”.RunningDifference会计算前后数据的不同,然后根据RunningDifference的值产生Color(red,green或者yellow),表达式定义如下:

SouthEastSouthEast

 

拖入一个Image的空间到列表,名称Trend:

SouthEast

选中Trend列正文将URL的来源类型从文本修改为报表表达式,定义如下:

SouthEastSouthEast

 

这样图片的地址就会根据Color的值自动改变,由于Color的栏位在报表中不需要,所以我们隐藏掉

SouthEast

运行结果图:

SouthEast

方法2打开GoSales(Query)的Package,使用库存名称空间的”国家或地区”,“期初盘存”两个字段,先创建列表拖入这两个字段。创建RunningDifference跟方法一相同。这里我们不创建Color的查询字段,创建一个Color的变量,变量表达式和三个值如下图:

SouthEast

拖入一个图像空间到列表,将URL源变量选择我们刚创建的Color,点击“条件资源管理器”选择Red值,输入对应的URL地址:

SouthEastSouthEast

 

依次为其他两个值(yellow,green)设置对应的图片路径,运行效果:

SouthEast

 

可以看到两种办法都可以实现。 另外提一下第二种图片的地址可以写相对地址,比如"../samples/images/red.jpg",这样的好处是迁移到其他服务器,如果图片的地址相同不需要修改。

 

你可能感兴趣的:(Cognos,根据数据增长显示红绿灯)