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

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

开发者学堂课程【微服务+全栈在线教育实战项目演练(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 模块,把里面的注册人数得到,得到后存到统计表中。

相关文章
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
【数据分析与可视化】SKlearn主要功能和模块概述(图文解释 简单易懂)
【数据分析与可视化】SKlearn主要功能和模块概述(图文解释 简单易懂)
83 0
|
11天前
|
Java
统计分析模块
统计分析模块
|
2月前
|
机器学习/深度学习 数据采集 自然语言处理
编写员工聊天监控软件的机器学习模块:Scikit-learn在行为分析中的应用
随着企业对员工行为监控的需求增加,开发一种能够自动分析员工聊天内容并检测异常行为的软件变得愈发重要。本文介绍了如何使用机器学习模块Scikit-learn来构建这样一个模块,并将其嵌入到员工聊天监控软件中。
151 3
RFM用户分层模型|原理+Python全流程实现
详细解读如何使用RFM模型进行用户分层(附代码)
RFM用户分层模型|原理+Python全流程实现
|
数据采集 消息中间件 监控
数据预处理模块梳理|学习笔记
快速学习数据预处理模块梳理
190 0
数据预处理模块梳理|学习笔记
|
数据采集 SQL 数据挖掘
数据预处理-数据解析-总结及预定数据分析|学习笔记
快速学习数据预处理-数据解析-总结及预定数据分析
115 0
数据预处理-数据解析-总结及预定数据分析|学习笔记
|
SQL 监控 数据挖掘
网站流量日志分析--统计分析--多维统计分析--概念|学习笔记
快速学习网站流量日志分析--统计分析--多维统计分析--概念
79 0
|
机器学习/深度学习 数据采集 SQL
使用 PAI 进行统计分析 | 学习笔记
快速学习使用 PAI 进行统计分析
183 0
使用 PAI 进行统计分析 | 学习笔记
|
SQL 数据采集 监控
网站流量日志分析--统计分析--多维统计分析--了解其他维度分析|学习笔记
快速学习网站流量日志分析--统计分析--多维统计分析--了解其他维度分析
103 0
网站流量日志分析--统计分析--多维统计分析--了解其他维度分析|学习笔记
|
前端开发 JavaScript 应用服务中间件
统计分析-生成统计数据前端整合 | 学习笔记
快速学习 统计分析-生成统计数据前端整合
110 0