写点什么

开源数据可视化 / 自服务 BI 工具哪家强?

  • 2023-01-11
    山东
  • 本文字数:991 字

    阅读完需:约 3 分钟

今天领导交给我一项艰巨的任务,让我根据数据库中的 学生成绩表 的数据,制作一个学生成绩的汇总表,并且要根据学生成绩的汇总结果 做一个分析图,明天就要,还说做不出来就要辞退我。

可把愁坏我了,幸好有个朋友是做数据分析的,我赶紧联系他,请他帮忙。朋友听了我的诉求之后,说:“这还不简单,小 case,你用 DataEase 啊,贼简单。”

于是,我就抱着尝试的心态用了,哎~你还别说,还真简单,上手太简单了,最后只用了 10 分钟就做出了我想要的视图,领导都佩服我的才能,对我刮目相看,不愧是我啊。

下面介绍一下,我制作仪表板视图的过程:

表结构如下: (主键、学生名、课程科目、成绩)



行转列处理后的结果:



最终仪表板视图效果:



详细步骤:

1、建表,导入数据


-- 建表语句:DROP TABLE IF EXISTS `student_score`;CREATE TABLE `student_score` (  `id` int(8) NOT NULL,  `name` varchar(20) DEFAULT NULL,  `project` varchar(20) DEFAULT NULL,  `score` int(8) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*Data for the table `student_score` */insert into `student_score`(`id`,`name`,`project`,`score`) values (1,'张三','语文',80),(2,'张三','数学',70),(3,'张三','英语',90),(4,'张三','物理',60),(5,'李四','语文',95),(6,'李四','数学',96),(7,'李四','英语',97),(8,'李四','物理',99),(9,'王五','语文',100),(10,'王五','英语',100);
复制代码


2、生成行转列 sql


-- 实现语句(不需要存储过程)SET @sql = NULL;SELECT GROUP_CONCAT(DISTINCT  CONCAT(   'Max(IF(a.project = ''',   a.project,   ''', a.score, 0)) AS ''',   a.project, ''''  ) ) INTO @sqlFROM student_score a;SET @sql = CONCAT('Select name,', @sql,             ' From student_score a Group by a.name' );-- 动态生成脚本PREPARE stmt FROM @sql;-- 动态执行脚本EXECUTE stmt;     DEALLOCATE PREPARE stmt;
-- 查询生成的行转列sqlselect @sql;
复制代码


3、使用 SQL 语句:select @sql; 查询生成的行转列 sql




5、根据行转列 sql 添加 SQL 数据集合(详细操作查看 DataEase 官方文档)



6、有了数据集既可以制作仪表板视图了,去官网看吧,贼简单

官方文档地址:​​https://dataease.io/docs/dev_manual/dev_deployment/#_12​

官方 Github 地址:​​https://github.com/dataease/dataease​

用户头像

还未添加个人签名 2022-12-26 加入

还未添加个人简介

评论

发布
暂无评论
开源数据可视化/自服务BI工具哪家强?_数据可视化工具_搞大屏的小北_InfoQ写作社区