轻松搭建一个BI销售数据分析系统

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

通过最佳实践帮助您实现上述案例效果

Step1:准备工作

1.1 新建表

1.1.1 开通MaxCompute
阿里云实名认证账号访问https://www.aliyun.com/product/odps ,开通MaxCompute,选择按量付费进行购买。

<a href=https://img.alicdn.com/tps/TB1TxkNOVXXXXaUaXXXXXXXXXXX-1124-472.png" width="836">

<a href=https://img.alicdn.com/tps/TB1qRw3OVXXXXX_XFXXXXXXXXXX-1243-351.png" width="836">

<a href=https://img.alicdn.com/tps/TB1gvgQOVXXXXXUXVXXXXXXXXXX-1208-337.png" width="836">

1.1.2 数加上创建MaxCompute project

操作步骤:

步骤1: 进入数加管理控制台,前面开通MaxCompute成功页面,点击管理控制台,或者导航产品->大数据(数加)->MaxCompute 点击管理控制台。

<a href=https://img.alicdn.com/tps/TB1G7o4OVXXXXXEXFXXXXXXXXXX-1281-473.png" width="836">

步骤2: 创建项目。付费模式选择I/O后付费,输入项目名称:

<a href=https://img.alicdn.com/tps/TB1SY78OVXXXXcqXpXXXXXXXXXX-1347-590.png" width="836">

步骤3: 创建MaxCompute表。进入大数据开发套件的数据开发页面:

以开发者身份进入阿里云数加平台>大数据开发套件>管理控制台,点击对应项目操作栏中的进入工作区

TB1o_.7OVXXXXcRXVXXXXXXXXXX-1092-301.png

创建脚本文件。点击顶部菜单栏中的数据开发,点击“新建”处新建脚本,也可直接点击“新建脚本”任务框

编辑建表语句

—-创建在线交易表:
CREATE TABLE IF NOT EXISTS demo_dplus_good_sale (
    create_time     DATETIME COMMENT '时间',
    good_cate       STRING COMMENT '商品种类',
    brand           STRING COMMENT '品牌',
    buyer_id        STRING COMMENT '用户id',
    trans_num       BIGINT COMMENT '交易量',
    trans_amount    DOUBLE COMMENT '金额',
    click_cnt       BIGINT COMMENT '点击次数',
    addcart_cnt     BIGINT COMMENT '加入购物车次数',
    collect_cnt     BIGINT COMMENT '加入收藏夹次数'
);
 
—-创建用户信息表:
CREATE TABLE IF NOT EXISTS demo_dplus_buyer (
    buyer_id        STRING COMMENT '用户id',
    buyer_prov      STRING COMMENT '省份',
    gender          STRING COMMENT '性别',
    age_range       STRING COMMENT '年龄段',
    zodiac          STRING COMMENT '星座'
);
 
--结果数据存储表:
--涵盖绝大多数维度和指标的汇总表:
CREATE TABLE IF NOT EXISTS demo_dplus_summary (
    prov            STRING COMMENT '省份',
    gender          STRING COMMENT '性别',
    age_range       STRING COMMENT '年龄段',
    zodiac          STRING COMMENT '星座',
       good_cate        STRING COMMENT '商品种类',
    brand           STRING COMMENT '品牌',
    trans_num       BIGINT COMMENT '交易量',
    trans_amount    DOUBLE COMMENT '金额',
    click_cnt       BIGINT COMMENT '点击次数',
    addcart_cnt     BIGINT COMMENT '加入购物车次数',
    collect_cnt     BIGINT COMMENT '加入收藏夹次数'
 
);
 
--用户数的汇总表:
 
CREATE TABLE IF NOT EXISTS demo_dplus_buyer_cnt (
    buyer_cnt       BIGINT COMMENT '用户数'
 
);

<a href=https://img.alicdn.com/tps/TB1MJwwOVXXXXaUaFXXXXXXXXXX-953-844.png" width="836">

1.2 新建数据源

1.2.1 以开发者身份进入阿里云数加平台>大数据开发套件>管理控制台,点击对应项目操作栏中的进入工作区

1.2.2 点击顶部菜单栏中的项目管理,点击左侧导航数据源管理

1.2.3 点击新增数据源

<a href=https://img.alicdn.com/tps/TB1hMssOVXXXXaBaFXXXXXXXXXX-1271-655.png" width="836">

RDS环境

RDS实例ID:rm-uf635k52032xm03l0

RDS实例购买者ID:1811270634786818

数据库名:trainning_db1

用户名:ram_trainning1

密码:ram_trainning1

1.2.4 点击测试连通性。

1.2.5 若测试连通性成功,则点击保存按钮完成配置信息保存。

1.3 新建任务

1.3.1 在“数据开发”界面的工具栏中,新建任务

1.3.2 在新建任务弹出框中填写各配置项

<a href=https://img.alicdn.com/tps/TB1nCkyOVXXXXcnapXXXXXXXXXX-799-547.png" width="836">

1.3.3 点击创建

Step2:数据导入

2.1 导入本地用户信息表到demo_dplus_buyer

源数据地址:demo_dplus_buyer

2.1.1 以开发者身份进入阿里云数加平台>大数据开发套件>管理控制台,点击对应项目操作栏中的进入工作区

2.1.2 点击顶部菜单栏中的数据开发,导航至“导入”,选择导入本地数据

2.1.3 选择本地数据文件,配置导入信息,点击下一步

<a href=https://img.alicdn.com/tps/TB1vc.xOVXXXXclapXXXXXXXXXX-791-661.png" width="836">

2.1.4 选择目标表,并选择字段匹配方式(本示例选择按位置匹配),点击导入

<a href=https://img.alicdn.com/tps/TB17Kw_OVXXXXaQXpXXXXXXXXXX-793-478.png" width="836">

2.1.5 文件导入成功后,系统右上角将提示文件导入成功,同时可以执行read语句查看数据

<a href=https://img.alicdn.com/tps/TB17xAYOVXXXXa3XFXXXXXXXXXX-603-531.png" width="836">

2.2 同步数据

2.2.1 新建数据同步节点rds_to_maxcompute

进入数据开发中的新建任务,向工作流设计器中拖入数据同步节点

2.2.2 同步rds中在线交易表数据到demo_dplus_good_sale表

源数据地址:demo_dplus_good_sale

双击数据同步进入数据同步节点配置界面

<a href=https://img.alicdn.com/tps/TB1ZkE6OVXXXXbZXpXXXXXXXXXX-981-656.png" width="836">

<a href=https://img.alicdn.com/tps/TB1l7Z_OVXXXXbEXXXXXXXXXXXX-925-493.png" width="836">

Step3:数据加工

3.1 新建ODPS_SQL节点进行数据加工“交易分析”并写入数据

3.1.1 新建ODPS_SQL节点

进入数据开发中的新建任务,向工作流设计器中拖入ODPS_SQL节点

<a href=https://img.alicdn.com/tps/TB1Zck1OVXXXXX8XFXXXXXXXXXX-786-337.png" width="836">

3.1.2 双击ODPS_SQL,编写SQL语句将加工好的结果写入demo_dplus_summary表,运行成功后保存

\----汇总表,涵盖维度省份、性别、年龄段、星座、商品种类、品牌,涵盖指标销售量、销售额、点击次数、加入购物车次数、加入收藏夹次数

INSERT OVERWRITE TABLE demo_dplus_summary
SELECT buyer.buyer_prov
       , buyer.gender
       , buyer.age_range
       , buyer.zodiac
       , sale.good_cate
       , sale.brand
    , SUM(sale.trans_num) AS trans_num
    , SUM(sale.trans_amount) AS trans_amount
        , SUM(sale.click_cnt) AS click_cnt
        , SUM(sale.addcart_cnt) AS addcart_cnt
        , SUM(sale.collect_cnt) AS collect_cnt
FROM demo_dplus_good_sale sale
JOIN demo_dplus_buyer buyer
ON sale.buyer_id = buyer.buyer_id
GROUP BY buyer.buyer_prov,buyer.gender,buyer.age_range,buyer.zodiac,sale.good_cate,sale.brand
;

<a href=https://img.alicdn.com/tps/TB1basAOVXXXXaFapXXXXXXXXXX-711-420.png" width="836">

3.2 新建ODPS_SQL节点进行数据加工“用户数”并写入数据

3.2.1 新建ODPS_SQL节点

进入数据开发中的新建任务,向工作流设计器中拖入ODPS_SQL节点

3.2.2 双击ODPS_SQL,编写SQL语句将加工好的结果写入demo_dplus_buyer_cnt表,运行成功后保存

\----用户数汇总表

INSERT OVERWRITE TABLE demo_dplus_buyer_cnt
SELECT count(distinct buyer_id) AS buyer_cnt
FROM demo_dplus_good_sale;

3.3 设置调度属性

首先用线将工作流节点连接,表示节点执行先后顺序

<a href=https://img.alicdn.com/tps/TB1Kt3DOVXXXXcLaXXXXXXXXXXX-484-199.png" width="484">

然后点击右侧导航栏调度属性,设置整个工作流的调度属性,让每日的数据导入、加工自动执行

<a href=https://img.alicdn.com/tps/TB1p.3zOVXXXXXMapXXXXXXXXXX-420-658.png" width="420">

3.4 提交任务,并测试工作流

3.4.1 点击顶部菜单栏提交

<a href=https://img.alicdn.com/tps/TB1aaU5OVXXXXbsXpXXXXXXXXXX-801-513.png" width="836">

3.4.2 提交成功后点击测试运行

测试任务触发成功后,点击“前往运维中心”即可查看任务进度。

<a href=https://img.alicdn.com/tps/TB1R6sGOVXXXXXhapXXXXXXXXXX-1258-831.png" width="836">

Step4:数据展现

4.1.1 新建BI数据源

进入QuickBI首页,在屏幕中间点击管理控制台,就可以进入QuickBI系统新建数据源

<a href=https://img.alicdn.com/tps/TB1I.wxOVXXXXcWapXXXXXXXXXX-1079-664.png" width="836">

4.1.2 创建数据集

刚才创建好的数据源rds_demo下的表的列表 如下图所示:

<a href=https://img.alicdn.com/tps/TB1Fj0hPXXXXXXtXXXXXXXXXXXX-1196-719.png" width="836">

依次点击下面两张表后面的新建数据集按钮,创建每个表对应的数据集:

涵盖绝大多数维度和指标的汇总表:demo_dplus_summary

用户数的汇总表:demo_dplus_buyer_cnt

创建成功后会自动跳转到数据集列表,如下图所示:

<a href=https://img.alicdn.com/tps/TB1RtNaPXXXXXb3XXXXXXXXXXXX-1084-313.png" width="836">

由于MaxCompute的主要功能是支持离线计算,为了提升查询性能,可通过加速功能对数据集进行加速。点击对应数据集后的“设为极速”,如图所示:

<a href=https://img.alicdn.com/tps/TB1KDM8OVXXXXaIXpXXXXXXXXXX-1260-649.png" width="836">

4.2 数据展现

老板想要看的指标
1.销售总额、总交易量、总点击次数、总加入购物车次数、总加入收藏夹次数用户总数和;
2.各省交易量和交易金额;
3.销售交易量和销售金额top10商品种类;
4.销售交易量和销售金额top5手机品牌
5.用户购买能力分布(性别、星座、年龄段)

数据展现效果如下

TB1vcBHPXXXXXarXXXXXXXXXXXX-454-800.png

4.2.1 销售总额、总交易量、总点击次数等数据展示

1.创建仪表板

点击左侧导航栏作品,选择新建--->新建空白仪表板,进入新建仪表板编辑页面

<a href=https://img.alicdn.com/tps/TB15cIwOVXXXXb9apXXXXXXXXXX-486-314.png">

在右侧画布属性显示标题老板驾驶舱

<a href=https://img.alicdn.com/tps/TB1RAXdPXXXXXaoXXXXXXXXXXXX-814-294.png" width="836">

2.将左侧列布局拖入仪表板,设置列数量为6

<a href=https://img.alicdn.com/tps/TB1PcM6OVXXXXc1XpXXXXXXXXXX-1270-382.png" width="836">

3.将指标看板分别拖入6个列布局中展示每一个指标

<a href=https://img.alicdn.com/tps/TB166wGOVXXXXbsaXXXXXXXXXXX-1259-505.png" width="836">

4.分别点击前五个指标看板在右侧依次设置数据和样式(度量每个指标看板选一个)

TB14CxnPXXXXXalXFXXXXXXXXXX-231-721.png

5.第六个指标看板要改变数据集

<a href=https://img.alicdn.com/tps/TB1W6ozOVXXXXb9apXXXXXXXXXX-264-540.png">

6.点击更新图表,结果如下:

TB1KxNpPXXXXXcMXpXXXXXXXXXX-781-129.png

4.2.2 各省交易量和交易金额的数据展示

1.点击左侧导航栏作品,选择新建-->新建工作表,进入数据集页面

2.选择数据集demo_dplus_summary,点击其后面的分析按钮

<a href=https://img.alicdn.com/tps/TB1Kxk0OVXXXXbXXFXXXXXXXXXX-1199-123.png" width="836">

3.点击工作表页面左上角的“编辑数据集”,将省份类型切换为省后保存

TB1hNQ8OVXXXXb8aXXXXXXXXXXX-400-367.png

TB1yGFoPXXXXXXWXFXXXXXXXXXX-574-541.png

4.右侧分析面板里行选择省份,列选择交易量和金额,点击下侧智能图标,如图所示:

TB1DWXbPXXXXXXbaXXXXXXXXXXX-1013-730.png

您可以在图上切换金额和交易量,点击保存

TB1f5BbPXXXXXbMXVXXXXXXXXXX-879-701.png

5.点击左侧导航栏作品--->我的仪表盘,选择老板驾驶舱,将列布局拖入画布中间,右侧布局占比改为40(可自由修改)

<a href=https://img.alicdn.com/tps/TB1O.wZOVXXXXbIXFXXXXXXXXXX-233-165.png">

6.在左侧列布局里添加色彩地图,右侧添加交叉表

<a href=https://img.alicdn.com/tps/TB1ruUzOVXXXXaIapXXXXXXXXXX-251-623.png">

<a href=https://img.alicdn.com/tps/TB1j0w8OVXXXXbwXpXXXXXXXXXX-252-624.png">

7.分别点击两个列布局,在右侧选择刚新建的工作表进行设置,结果如图:

TB1RLlqPXXXXXcFXpXXXXXXXXXX-687-321.png

4.2.3 销售交易量top10商品种类的数据展示

1.点击左侧导航栏作品,选择新建-->新建工作表,进入数据集页面

2.选择数据集demo_dplus_summary,点击其后面的分析按钮

3.右侧分析面板里行选择商品种类,列选择交易量(因为求交易量销售前十的商品种类,所以要进行设置)

TB1vpE3OVXXXXaoapXXXXXXXXXX-539-262.png

4.点击下侧智能图标,进行保存,如图所示:

TB1rQ8nPXXXXXXnXFXXXXXXXXXX-1056-804.png

同样方法可以新建工作表求得销售金额top10的商品种类,进行保存

TB19s.UOVXXXXXHaFXXXXXXXXXX-823-804.png

4.2.4 销售交易量top5手机品牌的数据展示

1.点击左侧导航栏作品,选择新建-->新建工作表,进入数据集页面

2.选择数据集demo_dplus_summary,点击其后面的分析按钮

3.右侧分析面板里行选择品牌,列选择交易量,点击高级过滤和交易量进行相关设置,进行保存

TB1sKhwPXXXXXX1XpXXXXXXXXXX-604-351.png

同样方法可以新建工作表求得销售金额top5的手机品牌,进行保存

TB1ufM0OVXXXXaHapXXXXXXXXXX-1046-786.png

4.点击左侧导航栏作品-->我的仪表盘,选择老板驾驶舱,将列布局拖入画布中间

5.在两侧列布局分别拖入tab,进行命名,分别向4页tab中拖入柱状图,在右侧选择新建的工作表进行设置,点击保存,结果如图:

TB1oUM_OVXXXXXHaXXXXXXXXXXX-647-336.png

4.2.5 用户购买能力分布的数据展示

分别通过性别、星座和年龄段来对用户购买能力进行分析

在仪表盘页面向画布拖入tab,在右侧设置tab页数为3,在每个tab页中放入tab,进行重命名

<a href=https://img.alicdn.com/tps/TB1u6wBOVXXXXaUapXXXXXXXXXX-490-123.png">

向用户购买能力--性别tab中拖入饼图,在右侧选择数据集demo_dplus_summary进行设置(只需改变维度和度量即可得到各自的分析),更新图表

<a href=https://img.alicdn.com/tps/TB1cfZKOVXXXXa4aXXXXXXXXXXX-1170-474.png" width="836">

向用户购买能力--星座tab中拖入矩形树图,在右侧选择数据集demo_dplus_summary进行设置(只需改变维度和度量即可得到各自的分析),更新图表

<a href=https://img.alicdn.com/tps/TB1Ij3xOVXXXXc_aXXXXXXXXXXX-1169-478.png" width="836">

向用户购买能力--性别tab中拖入饼图,在右侧选择数据集demo_dplus_summary进行设置(只需改变维度和度量即可得到各自的分析),更新图表

<a href=https://img.alicdn.com/tps/TB1HhoyOVXXXXc6aXXXXXXXXXXX-1166-515.png" width="836">

以上就是所有报表,记得点击保存。

附件

新建表demo_dplus_good_sale的源数据:demo_dplus_good_sale

新建表demo_dplus_buyer的源数据:demo_dplus_buyer

本实验共需新建四张表,语句为:建表语句

数据加工过程中写入的SQL语句:SQL语句

如您不会SQL,可以采用本教程中提供的RDS结果表信息作为数据源,jdbc连接信息如下:
jdbc:mysql://rm-bp180925lcrm7xtc6.mysql.rds.aliyuncs.com:3306/bi_demo
登录名:bi_demo
密码:bi_demo

点此查看本实验报表效果图

更多示例demo:
1、网站流量分析
2、销售数据分析

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
数据采集 数据可视化 数据挖掘
Python数据挖掘项目实战——自动售货机销售数据分析
Python数据挖掘项目实战——自动售货机销售数据分析
|
4月前
|
数据可视化 数据挖掘 Python
Python数据挖掘实用案例——自动售货机销售数据分析与应用(二)
Python数据挖掘实用案例——自动售货机销售数据分析与应用(二)
376 0
|
4月前
|
机器学习/深度学习 安全 数据挖掘
Python数据挖掘实用案例——自动售货机销售数据分析与应用(三)
Python数据挖掘实用案例——自动售货机销售数据分析与应用(三)
179 0
|
4月前
|
数据采集 数据可视化 数据挖掘
Python数据挖掘实用案例——自动售货机销售数据分析与应用(一)
Python数据挖掘实用案例——自动售货机销售数据分析与应用
334 0
|
8月前
|
数据可视化 搜索推荐 数据挖掘
Pandas+Pyecharts | 电子产品销售数据分析可视化+用户RFM画像
Pandas+Pyecharts | 电子产品销售数据分析可视化+用户RFM画像
|
10月前
|
存储 数据可视化 数据挖掘
MySQL数据分析实战:销售和用户行为分析案例分享
MySQL是一种常用的关系型数据库管理系统,可以用来存储和管理大量的数据。除了存储数据,MySQL还可以用来进行数据分析。在本文中,我将介绍如何使用MySQL进行数据分析,并提供一些实际的示例。
493 3
|
11月前
|
算法 数据挖掘
白话Elasticsearch46-深入聚合数据分析之Cardinality Aggs-cardinality去重算法以及每月销售品牌数量统计
白话Elasticsearch46-深入聚合数据分析之Cardinality Aggs-cardinality去重算法以及每月销售品牌数量统计
99 0
|
供应链 算法 数据挖掘
一文看懂:销售数据分析怎么做?
今天跟大家分享数据分析里最高频的一个工作:销售分析。不管是实打实挣钱的公司,还是指望上市圈钱的公司,销售业绩都是领导们最看重的指标。 很多人从事数据分析工作,也是从基础的“销售统计专员”做起的。今天就简单分享下,销售分析该如何做。
440 0
一文看懂:销售数据分析怎么做?
|
机器学习/深度学习 存储 编解码
机器学习--房屋销售的探索性数据分析
机器学习--房屋销售的探索性数据分析
173 0
机器学习--房屋销售的探索性数据分析
|
SQL 数据采集 机器学习/深度学习
自学半年,从保险销售,零基础转型数据分析
自学半年,从保险销售,零基础转型数据分析
自学半年,从保险销售,零基础转型数据分析