可以用润乾报表画的统计图(一)全息图

客户需求:

某交通运输行业的客户,有这样一种图,叫”全息图”。

分类轴(X轴),显示的是轨道的里程,系列(Y轴)显示的是测量的日期。图中分三种颜色表示测量的结果,绿色表示测试达标并且达到优秀,黄色表示测试达标但没有达到优秀,红色表示测试没有达标。蓝色的线表示没有达标的部分需要检修,没检修过的用蓝线标识,没有标识的代表检修过的。

当我们拿到这种图,自然会想到我们常规的统计图中是否支持。当我们发现统计图中没有此种图时,就盲目的找BSD评估分析,是否可以进行定制,评估的结果的等待和最后需要研发的天数费用,客户并不接受。那是不是润乾报表就不能做了呢?

需求分析:

虽然客户说这是一张统计图,但我们不要被这种说法拐带了思想,从图中我们可以很直观的看到图的样式是由一个个格子组合而成的,用EXCEL就可以画出来,只是单元格的背景色不同而以。

那润乾报表第一个可以直观看到的特色就是”类EXCEL模型”,通过EXCEL可以画的内容,我们当然也可以用报表的单元格来解决,润乾报表还可以动态的判断当前单元格的背景色。说到这,您是不是已经有了解决了的思路呢。不错,我们现在就用单元格背景色来实际解决一下此问题。

解决方法:DEMO是模拟的数据。

1、 用分组函数解决X轴和Y轴。

X 里程:

Y 日期:

B1:统计需要判定的值

预览效果

2、 动态判断单元格背景色,达到图中的效果。

判断条件,当值为1时,代表不达标,为红色,值为2时,表示黄色,值为3时为绿色。

B1格式,背景色表达式输入if(value()==1,-65536,value()==2,-256,value()==3,-16711936,-1)

隐藏单元格中的数字,判断前景色

if(value()==1,-65536,value()==2,-256,value()==3,-16711936,-1)

3、 制作图中蓝色条的部分,表示没达标的红色部分,是否被检修过。

增加一行,同理判断单元格背景色和前景色。

B2:前景色和背景色的表达式均为:

if(value()==’1′,-16776961,if(B1==1,-65536,B1==2,-256,B1==3,-16711936,-1))

做到这里,效果就轻松实现了。客户看到DEMO,也比较满意,省去了需要定制开发的各种成本。从实际上看到了润乾报表的功能灵活和强大。

附带内建数据集DEMO供参考。

热门文章