BI可视化
1 项目介绍
整个项目实现过程,包括dashboard指标需求分析,数据统计计算,powerbi报表开发。
在线报表链接:PowerBI报表
附报表图片。









1.1数据来源
某生产销售商日常销售数据。此项目所需数据存放在mysql,订单明细表、每日新增用户表两张表中,同时需要关联日期维度表。
2 项目实现
2.1 需求分析
通过对销售数据监控,获取最新的商品销售情况、销售趋势、产品及区域分布情况,通过dashboard展示,方便公司数据查询,以及策略制定。
现对项目需求进行拆解,搭建指标体系。

2.2 数据加工
2.21 源表解析
订单明细表(ods_sales_orders),包含字段如下

每日新增用户表(ods_customer),包含如下字段(同历史表)

日期维度表(dim_date_df),包含如下字段

2.2.2 脚本开发
使用python连接mysql数据库,开发相应脚本,计算各字段。
脚本一(用户订单聚合脚本):
读取订单明细表,新增用户表,日期维度表,生成用户订单表(dw_customer_order)
1.提取订单主键/订单日期/客户编号/产品名/产品子类/产品类别/产品单价/所在区域/所在省份/所在城市
2.形成按照 订单日期/产品名/产品子类/产品类别/所在区域/所在省份/所在城市的逐级聚合表,获得订单总量/客户总量/销售总金额
3.转化订单日期为字符型格式,获取当日日期维度
4.数据存入聚合表(dw_customer_order)
脚本二(计算每日总量及环比):读取ods_sales_orders(订单明细表),dim_date_df日期维度表,生成每日环比表
1.根据create_date聚合,求总销量/订单量/客户数/客单价
2.读取销售目标,与上表聚合
3.计算每日环比数据
4.输入存入每日环比表
脚本三(计算同比数据):生成dw_amount_diff日期维度同比表(按当天/昨天/当月/当季/当年计算同比)
1.求当前日期维度下,各阶段的销售额,订单数,客单价
2.取出当前日期维度下的去年对应日期列表,求对应各阶段的销售额,订单数,客单价
3.计算各日期维度下总金额/订单量/客单价同比值
4.数据存入日期维度同比表
脚本四(计算客户分布):生成客户年龄分布表,性别分布表,婚姻状态表,年收入表(按新增/历史计算)
1.读取每日新增用户表,历史用户表,分别求年龄分布,性别分布,婚姻状态,年收入分布
2.数据存入各表
2.3 报表开发
2.3.1 报表设计
报表包括数据概览,趋势分析,销售详情,客户分布4各主题页。
数据概览页按时间维度分今日、昨日、本月、本季度4个子页。
趋势分析页按时间维度分21内趋势1个子页。
销售详情页按产品、地区维度分2个子页。
客户分布页按新增、历史分2个子页。