将SQL自动转换成可视化报表,八步赶蝉带下钻的主、子报表!
将SQL直接转化为可视化报表,大幅提升生产力!前面发的3篇文章中,讲述了我们通过将核心SQL直接转化报表的工具和体验方法,有不少读者也在我们的服务器上体验了,但是作者发现还是很大一部分的配置有些问题,所以特别编写一篇文章,咱们拿一个案例,一步一步、手把手完成配置。体验环境中有一个《部门人数统计表》案例,我们就拿它来展开。
第一步:理解需求
我们查看图表
得出主报表有以下几项要求:
1、 根据部门分组统计当前人数;
2、 这个统计图只有1个维度:部门,1个统计指标:当前人数;
3、 报表以柱形图展示;
4、 报表的指标可以下钻部门员工表;
5、 报表没有筛选条件;
第二步:确定数据结构,编写核心SQL。
基于SQL的报表,我们先重新熟悉一下MySQL开放这套数据库的数据结构:
根据需求编写出核心SQL语句:
这里我们还需要将dept_no显示成名称,既可以join查询出来,也可以通过报表的格式化功能完成,这里使用报表格式化功能完成。
第三步:新建主报表
1、浏览器打开在线报表编辑器,地址:,点击"报表设置"按纽:
2、填写报表属性:
3、点击"读取结构"按纽,然后关闭对话框
4、添加部门名称字段,保留部门编号用于下钻传值
5、保存
第四步:预览主报表效果
浏览器打开运行时环境,地址:,拉到下方,在指定打开那里填上刚才填的报表编号,然后打点打开。
第五步:设计下钻的子报表
1、浏览器打开在线报表编辑器,地址:,点击"报表设置"按纽:
核心SQL语句:
select employees.*, dept_emp.dept_no, departments.dept_name, dept_emp.from_date
from employees join dept_emp on dept_emp.emp_no = employees.emp_no
join departments on departments.dept_no = dept_emp.dept_no
where dept_emp.to_date > now()
2、点击"读取结构"按纽,然后关闭对话框
3、添加筛选条件。在字段面板中,找到dept_no、dept_name字段,点击右侧的"筛选"按钮
4、点击条件面板上,筛选条件的标题,打开筛选条件设置
在默认的数据库字段前加上表别名前缀,2个筛选条件都要加
5、设置列宽。点击预览编辑,调整列宽
6、保存
第六步:预览子报表效果
浏览器打开运行时环境,地址:,拉到下方,在指定打开那里填上刚才的报表编号,然后打点打开。
第七步:设置钻取
1、使用报表编辑器打开子报表,点击部门编号筛选条件标题,在筛选条件设置中设置别名为dept_no,然后保存
2、使用报表编辑器打开主报表,在字段面板中,将dept_no列打开"钻取传值"开关,将人数列设置"渲染类型"为钻取,"动作目标"设置为子报表的编号,然后保存:
第八步:预览最终效果
1、浏览器打开运行时环境,地址:,拉到下方,在指定打开那里填上主报表编号,然后打点打开。
2、双击柱形图的柱子,报表下钻:
好了,本次包含下钻功能的主、子报表就制作完成了,报表的嵌入可参照我的另一篇文章《报表难以和系统集成?你用过基于Vue的报表组件吗?一个标签搞定》。
体验中如果有任何问题,可以私信我,或留言评论,欢迎关注我的头条号。