ReportStudio进阶教程(三十六) - 图表开发(2)进度条

来源:互联网 发布:数据档案馆 编辑:程序博客网 时间:2024/05/17 20:28

这里我们做一个小例子,项目中可能会需要一个指标的完成比,结合当前的时间进度一同显示,我们这里来简单练习下,

效果图:

这里没有加过多的样式进行美化,同学们可以进一步完善

1.时间进度

这张图表的话,粒度是日,时间进度就是当前的天数/当月总天数

1.1 添加过滤器

我们需要对报表取一天的数据,我们这里使用的Transformer发布的模型,所以在使用宏函数的时候稍微有些不一样

[goal_demo].[日期维度].[日期维度].[日]=[goal_demo].[日期维度].[日期维度].[日]->:[PC].[@MEMBER].#sb(prompt('p_year','integer') + prompt('p_month','integer') + prompt('p_day','integer'))#
同样的,我们可以在数据项的属性中查看:

1.2 当月天数

我们求当月天数的话,我们只要统计当前日期的上一级,就是月,月下有多少个子项就可以了

count(1 within set children([goal_demo].[日期维度].[日期维度].[月]->:[PC].[@MEMBER].#sb(prompt('p_year','integer') + prompt('p_month','integer'))#))

1.3 效果

,这样我们只要使用当日/当月天数就可以了

2. 收入进度

这里面有个需要注意的问题,就是目标值,由于我们这里的结构比较简单,所以我们直接使用月份的交集元组就可以了

当前月:

[goal_demo].[日期维度].[日期维度].[月]->:[PC].[@MEMBER].#sb(prompt('p_year','integer') + prompt('p_month','integer'))#

3.图表开发

好了,数据的话,我们已经搞好了,下面就查图表的制作了:

我们这边用的是一个条形图:

大致是这样的:我们需要3个主轴:1个目标进度作为100%在底层显示,1个时间进度,1个收入进度

(ps:哎,写了一天了,又是改Bug,又是开会,又是培训......)

我们左边只需要有1行,所以取当日就可以了,用日期也可以,因为我们已经过滤了

3.1 主轴

我们先把之前做好的时间进度、收入进度、目标进度拖上去(目标进度就是100%)

目标进度和收入进度我们显示为条形图,一个区域,而时间进度我们显示为点

先简单设置下:

,运行后会出来这个图案

后面的工作就是我们的优化操作了,比如:修改颜色,修改图表的大小,将没有用的信息都删掉

,简单设置后,会变成这样,

个人感觉这个图表需要多调试,改改样式什么的,多熟悉熟悉应该就好了。





0 0
原创粉丝点击