仪表板支持丰富的图表分析能力,包括常用的饼状、柱状、环形、折线、雷达图展示等,通过选择相应的数据源、选择图形生成分析图,满足统计要求。
图形的描述属性主要基于Echart能力,相关参数参考echart网址:https://echarts.apache.org/zh/index.html
以一个性别分布的饼状图为例,来制作仪表板
1、分析报表平台中新增仪表板类别报表
2、点击过滤设置-添加过滤器
添加了部门和日期过滤器
3、点击设计-添加插件-选择数据插件中echart图标插件添加此组件
可以拖动此组件的位置定义PC布局,如果是调整移动布局,可以点击移动布局进行调整
4、点击⚙️进行设置
设置【数据定义、模版定义、穿透定义】
模版选择:在模版选择中选择想要展示的图形,标准的已经预制好饼状、环形、折线图等、点选图形后会默认生成模版定义
参考预制数据:因为此时我们只是定义了要展示的图形描述,但是未设置数据定义,选择的标准图现在用一些默认数据做填充,这些默认数据就是参考预制数据
数据定义:定义数据源(模型关联关系)
检查渲染配置:图表描述和数据源组合渲染后的描述配置
此时我们只需要将我们定义的业务的数据源替换掉参考预制数据即可(查看预制数据得知,饼状图的返回值是name、value格式的列表)
数据源定义:这里要做性别分布饼状图,就需要定义一个数据源,且返回格式是name、value格式的列表;即返回name为男或女,value为男或女的人数列表。
将性别统计维度标识设置为name,将统计值标识设置为value
设置好数据源后点击过滤设计、快速生成过滤参数绑定
穿透定义:
{ "model": "Employee", "state": "all", "action": "model_list", "filter_dict": { "date_": "=MONTH_END(date_=CURR_DATE)", "gender": "=selected['name']", "job_info.on_job": 1, "department.origin_id": { "child_include": "=CURR_DEPARTMENT" }, "job_info.position_type": 1 } }
5、点击保存即可生成饼状图
设置基本图形样式完成配置
相关地址:https://mingcloud.hcmcloud.com/#/board-report?id=6574
常用转json格式化网址:https://www.ab173.com/gongju/format/json.php
6、若是仪表板穿透到分析报表或其他表时用以下配置来做处理
{
"state": "board-report",
"action": "go_state",
"params": {
"id": 16211,
"filter": "='CURR_DEPARTMENT:@{};CURR_MONTH:\"{}\"'.format(selected['dept_l2_id'], CURR_MONTH)"
},
"drill_level": -1,
"is_new_page":true
}
state表示穿透的场景,id代表仪表板或分析报表的id,若是分析报表,state后面的值应该为"flex_report",若为仪表板,state值为board-report;
filter实际上是想要穿透的界面传递的过滤参数。若想要分页的话,那么需要将"is_new_page":true;否则为false。
7、年龄分组在不用云函数时,如何实现穿透。
由于年龄分组是公式操作,因此无法使用默认穿透去支持。只能通过配置来实现穿透。
a.设置好数据源,尤其是年龄分段。
其中年龄分段是公式操作,对年龄划分范围。
b.使用公式处理main数据源,直接复制到建立的公式取数main_即可,需要更改的是name的值。
#V2#
for _ in main:
name = _.get('name')
if name == '':
_.update({"query_dict": {"eq": 0}})
if name == '30岁以下':
_.update({"query_dict": {"gt": 0, "lt": 30}})
if name == '30-40岁':
_.update({"query_dict": {"gte": 30, "lt": 40}})
if name == '40-50岁':
_.update({"query_dict": {"gte": 40, "lt": 50}})
if name == '50岁及以上':
_.update({"query_dict": {"gte": 50}})
ret = main
c.穿透设置
{
"model": "Employee",
"state": "report",
"action": "model_list",
"filter_dict": {
"date_": "=MONTH_END(month_=CURR_MONTH)",
"age_count": "=selected['query_dict']",
"job_info.on_job": 1,
"department.origin_id": {
"child_include": "=CURR_DEPARTMENT"
},
"job_info.position_type": 1
}
}
8、默认穿透目前适用条件:
目前支持生成单一维和二维的默认穿透有:饼状图、环形图、折线图、分组折现图、堆叠面积图、柱状图、分组柱状图、柱状图堆叠、双向柱状图、折柱混合、漏斗图、柱状进度条、半圆进度条。
1.列表取数、统计维度为aggr,目前只能在1个和2个统计维度、单数据块。选择好图以及数据源后,应当在保证标尺定义中的维度字段名与数据块的维度字段保持一致的基础上,点击生成穿透定义按钮,即可生成。
!!!注意数据源的维度字段的命名应该与下面的图保持一致,否则会提示名字不一致,导致无法生成穿透。
高级设置:
1、echart图标插件支持配置内部筛选条件,在echart图表插件高级设置的options里配置filters,具体配置与list层filters配置类似(目前没有支持高级查询的配置)
2、插件内高级设置支持参数:"statistics_source_key": [],列表中配置对应数据源,返回结果无数据时,展示无数据图片