四时宝库

程序员的知识宝库

将SQL自动转换成可视化报表,八步赶蝉带下钻的主、子报表

将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的报表组件吗?一个标签搞定》。

体验中如果有任何问题,可以私信我,或留言评论,欢迎关注我的头条号。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接