可视化管理系统

可视化管理系统本质上是将报表以可视化的形式呈现出来,所以您不需要创建额外的系统管理表,只需要在已有的系统管理表中稍加修改。

首先,修改__报表管理__表, 加入绘图命令字段:

修改__报表管理__表
1
2
ALTER TABLE __报表管理__ 
    ADD COLUMN 绘图命令 TEXT;

其次,修改__报表权限管理__表, 加入定制绘图命令字段:

修改__报表权限管理__表
1
2
ALTER TABLE __报表权限管理__ 
    ADD COLUMN 定制绘图命令 TEXT;

最后,创建__可用报表__ 视图

创建__可用报表__ 视图
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CREATE VIEW IF NOT EXISTS __可用报表__ AS
    SELECT 
           A.报表类别,
           A.报表名称,
           A.报表位置,
           B.字段筛选,
           B.记录筛选,
           A.报表更新时间,
           A.制作者,
           B.授权者,
           B.使用者,
           A.报表说明,
           B.权限说明,
           CASE WHEN B.定制绘图命令 IS NOT NULL THEN B.定制绘图命令 
                WHEN A.绘图命令 IS NOT NULL THEN A.绘图命令 
           ELSE "" END AS 绘图命令
      FROM __报表管理__ AS A
      INNER JOIN __报表权限管理__ AS B 
      ON A.报表名称 = B.报表名称;



至此我们的可视化管理系统就已经搭建成功了。当我们需要将报表以可视化的形式展现给阅读着时,我们只需要将生成可视化图表的命令插入__报表管理__表中的绘图命令中即可。比如我们将汽车销售详情表的绘图命令设为ggplot(s$report) + geom_bar(aes(销售人员, 价格, fill = 销售人员), stat = "sum", positon = "stack") ,则每个用户都能看到一幅显示销售人员营业额的柱形图,而且每个用户都只能看到自己部门销售人员的情况(受权限控制)。

绘图命令也拥有像权限一样可覆盖的功能,比如用户03可以查看所有人的销售情况,我们就可以专门为他定制一份可视化报表,只需要__报表权限管理__表的定制绘图命令中,将绘图命令加入到给用户03分配汽车销售详情表权限的记录中,用户03就能查看到分析全体销售人员、销售部门的综合型图表。

注意用户当前查看的报表在报表平台中是在s$report中存储的。

对于可视化管理系统,您只需要考虑将特定的报表以特定的可视化方式呈现出来,或者给特定的用户查看特定的可视化报表。而这些维护工作都可以是一次性的。