统计分析模块需求描述 | 学习笔记

简介: 快速学习 统计分析模块需求描述

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)统计分析模块需求描述】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11503


统计分析模块需求描述


目录:

一、统计分析模块需求

二、生成统计数据

三、使用图标显示统计数据

四、总结


一、统计分析模块需求

首先分析统计分析模块的需求需要做什么功能,包括如何去做。

在我们的在线教育项目中,在网站运营过程中,每天会产生很多的数据,可以对这些数据做一个具体分析,用图表做展现,利于网站后期的运营等等一系列事情。

在功能中以一个数据为例,其他数据与它基本相同

1、比如需要做的功能

1)统计在线教育项目中,每天一天有多少注册人数

2)把统计出来的注册人数,使用图表显示出来

而功能应如何去做?

要先知道一个总体介绍,现在要统计有多少注册人数。

比如三月一号有10个人,三月二号有100个人,三月三号有1个人,三月四号没有人等等,把这些统计出来,并把这些数据用图表做出展现,不论是柱状图饼状图还是折线图,我们可以做出一个显示。


二、生成统计数据

1、创建表存储统计数据

做一些准备工作,首先需要创建一张表,这张表用来存储统计数据,这个表称为统计数据表。

(1)表的做法

在资料里面提供了数据库脚本,在数据库脚本中有一张表,名字为 guli_statistic,是一张统计数据表,按照这个表做出统计数据。  

已经创建好了 statistics_daily,是每个日期中的统计数据表,表格中有字段。

i d是主键,ata_calculated 是统计日期,比如是2020年3月1号,这是统计日期,下面是统计数据,比如在3月1号那天有多少注册人数,多少登录人数,多少视频播放数,register_num 是注册人数,以此类推。

表中的数据,第一个值是id,第二个值是统计日期,后面是统计出来的值。

这个数据的含义是在2020年1月1日,有10个注册人数,111个登陆人数等等,这是需要存的数据,即存的统计数据。

假设有一个2020年1月2日,又有其他的的相关值,最后这些值用图表形式表示出来,做个展现。第一件事情是要建一张表,表中添加数据,而这个数据就是需要的效果。

做好后即开启下一步,做好功能。

因为想做这个部分,只是想统计每天的注册人数,只想把这个做出来,这个功能应如何去做。

2、 统计某一天的注册人数

要先看表,有一张表叫 newcente

r member,这张表称为用户表,或者叫会员表,如果需要统计某一天的注册人数应该查询这张表,只有查这张表才能查到。

现在打开这张表,先写段语句做个测试,为了明显,把里面的值稍微改一下,比如改成3月9日和1月1日。比如现在想写这样一个语句,考虑一下应该怎么写。

比如查询2020年3月9日这一天有多少注册人数,想把这个做查询,这个语句应该怎么写。

分析一下,每次注册在表中都有一条记录,那想统计3月9日,如果以3月9日的日期作为统计标准,那么这个日期里有多少条记录则是注册人数。

利用查询语句的聚合函数,count 表示查询里的聚合数,在 count 里面可以加一个1,或者一个*,再来个 from,按照这个表叫 ucenter_member。

有表之后有条件,用日期做查询,条件用 where。根据时间做查询。如果用日期做查询,则本来有两条记录,却查不出来。没有查出来的原因是存的日期是带了时间分秒,但查询时只有年月日。如果不想加时间应该如何做?因为两条日期都是3月9日而无法查出来。

解决问题有两种方式。

第一种方法是用 like 语句,like 不用查询,加一个百分号的规则,但现在不建议这么写,这不运用在日期中,是根据昵称做查询。所以用 like 不合适

在 curcle 语句中有一个函数,这个函数可以做到,名字为 date,把日期放到date函数里面,执行后得到数量2,即在3月9日有两台记录。

通过在语句中的作用看出,date 的作用是获取时间格式里面的日期部分,或者称为日期格式里面的年月日部分取到,而小时分秒称为时间,年月日称为日期,date 可以把日期部分取到用来比较。查询时即可查到。

#查询2020-03-09有多少注册人数

#DATA 获取日期时间格式里面日期部分

SELECT COUNT(*) FROM ucenter_member uc WHERE DATA (uc.gmt_create )=’2020-03-09

3、 最终实现过程

image.png

把用户表查询出来的注册人数存储到统计分析数据表中,即生成统计数据。

现在需要做统计分析功能,要把通过这张表得到的数据放到统计数据表中,比如现在查的是3月9日,那么在这张表上存一个3月9号,后面是一串数据,比如注册人数是2,包括其他值,时间等等,这是需要做的过程。

比如从用户表中查询出两个人,那么把查询到的人数数据存储到统计分析数据表中,把 ucenter member 中查到的数据存储到 guli statistics 数据表中,而这个过程是统计数据的第一个功能,叫做生成统计数据,最后在统计数据表中做数据显示。


三、图标显示数据

把统计分析表里面存储的数据,使用图表显示。比如刚才3月9号有一个值,里面也可能有别的值,现在手动加一个值,比如订单 id 是1,日期是2020年3月1日,其余的值也填数据,目前表中有两个记录,把这两个记录用图表形式表示出来,可以用柱状图,折线图,饼状图等等,目前表中有两条记录,再把表中的两条记录用图表形式表示出来,只需要用一种形式表示出来即可。这是做统计分析的基本需求。

主要做的是两个功能,

第一个功能是生成统计数据,把 ucenter 中得到的数据存到统计表中,

第二个功能是图表显示,把得到的数据用图表显示出来。

image.png


四、总结

service_ucenter 中写接口,再建一个统计分析模块,通过统计分析模块调 ucenter 模块中的数据进行存储

image.png

在实际公司里面写代码占的时间不是最多的,占时间最多的是分析需求,讨论需求该如何实现,这个需求是占的比例最多的。

建立两个模块,第一个模块是 ucenter 模块,创建一个接口,查询某一天的注册人数,再创建另一个模块,service sta 模块,通过 sta 模块去调用 ucenter 模块,把里面的注册人数得到,得到后存到统计表中。

相关文章
|
6月前
|
机器学习/深度学习 数据采集 数据可视化
【数据分析与可视化】SKlearn主要功能和模块概述(图文解释 简单易懂)
【数据分析与可视化】SKlearn主要功能和模块概述(图文解释 简单易懂)
228 0
|
15天前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
39 3
|
3月前
|
机器学习/深度学习 人工智能 算法
数据统计分析的16个基础概念
数据统计分析的16个基础概念
|
6月前
|
Java
统计分析模块
统计分析模块
36 1
|
机器学习/深度学习 数据采集 SQL
使用 PAI 进行统计分析 | 学习笔记
快速学习使用 PAI 进行统计分析
使用 PAI 进行统计分析 | 学习笔记
|
数据采集 消息中间件 监控
数据预处理模块梳理|学习笔记
快速学习数据预处理模块梳理
343 0
数据预处理模块梳理|学习笔记
|
SQL 数据采集 监控
网站流量日志分析--统计分析--多维统计分析--了解其他维度分析|学习笔记
快速学习网站流量日志分析--统计分析--多维统计分析--了解其他维度分析
137 0
网站流量日志分析--统计分析--多维统计分析--了解其他维度分析|学习笔记
|
存储 小程序 数据管理
小程序中的统计分析功能
小程序中的统计分析功能
小程序中的统计分析功能
|
数据挖掘 开发者
推论性统计分析 | 学习笔记
快速学习 推论性统计分析
181 0
推论性统计分析 | 学习笔记
|
SQL 监控 数据挖掘
网站流量日志分析--统计分析--多维统计分析--概念|学习笔记
快速学习网站流量日志分析--统计分析--多维统计分析--概念
103 0
下一篇
无影云桌面