首页 > 其他分享 >开源数据可视化/自服务BI工具哪家强?

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

时间:2023-01-11 17:03:14浏览次数:55  
标签:-- BI project 转列 开源 score 可视化 student sql

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

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

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

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

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

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

行转列处理后的结果:

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

最终仪表板视图效果:

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

详细步骤:

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 @sql
FROM 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;

-- 查询生成的行转列sql
select @sql;

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

开源数据可视化/自服务BI工具哪家强?_行转列_04

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

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

开源数据可视化/自服务BI工具哪家强?_行转列_06

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

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

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

标签:--,BI,project,转列,开源,score,可视化,student,sql
From: https://blog.51cto.com/u_15922912/6002369

相关文章

  • RabbitMQ学习笔记05:Routing
    参考资料:RabbitMQtutorial-Routing—RabbitMQ  前言在之前的文章中我们构建了一个简单的日志系统,它可以广播消息到多个消费者中。在这篇文章中,我们打算实现仅订......
  • 使用开源软件的优势
    一、什么是开源开源即开放源代码。开放源代码(Opensourcecode)也称为源代码公开,指的是一种软件发布模式。一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者......
  • 如何选择数据可视化图表?
    数据可视化的意义是帮助人更好的分析数据,信息的质量很大程度上依赖于其表达方式。其实数据可视化的本质就是视觉对话,将枯燥的数据转化为清晰的可视化图表。数据可视化将技术......
  • debian11设置开机启动程序
    1.新建内容vim/etc/rc.local写入以下内容#!/bin/bash# #rc.local # #Thisscriptisexecutedattheendofeachmultiuserrunlevel. #Makesurethat......
  • WPF使用WriteableBitmap更新图像
     <Windowx:Class="WpfApp2.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.c......
  • 编译打包rabbitmq然后一键部署的简单方法
    摘要之前总结过一版,但是感觉不太全面想着本次能够将使用中遇到的问题总结一下.所以本次是第二版介质下载rabbitmq不区分介质的打包文件rabbitmq-server-generic-......
  • tdsql 开源pg版编译文件 tbase
    https://www.aliyundrive.com/s/V6LnixwJG3V这是一个自解压文件,打开后是一个tar.gz压缩文件对应文档中/data/tbase/install/下的文件在centos7下编译不保证可用,以源......
  • 70. Climbing Stairs
    第一次自己想到用dpclassSolution{public:intdp[100];intclimbStairs(intn){dp[0]=1;dp[1]=1;for(inti=2;i<100;++i)dp[i]=dp[i-1]......
  • 67. Add Binary
    还是模拟,模拟就完事儿了classSolution{public:stringaddBinary(stringa,stringb){ints_it_a=a.length()-1;ints_it_b=b.length()-1;s......
  • 防微杜渐,未雨绸缪,百度网盘(百度云盘)接口API自动化备份上传以及开源发布,基于Golang
    奉行长期主义的开发者都有一个共识:对于服务器来说,数据备份非常重要,因为服务器上的数据通常是无价的,如果丢失了这些数据,可能会导致严重的后果,伴随云时代的发展,备份技术也让......