电商数据的 BI 项目实战:从数据建模到仪表盘可视化
💡基于 Google 官方电商数据的 BI 项目实战:从数据建模到仪表盘可视化
本文记录了我基于 Brazilian E-Commerce Public Dataset 独立完成的一个完整 BI 项目。项目涵盖从数据理解、数据建模,到 Power BI 仪表盘设计与优化的全过程。
通过这次实践,我不仅提升了 DAX 和建模能力,更深入体会到了一个以业务为导向的 BI 项目如何落地。
🧭 项目背景与目标
本项目基于巴西最大的在线电商平台 Olist 的公开数据,数据已被结构化整理为典型的雪花模型结构,涵盖订单、用户、商家、物流、支付、商品等多个维度。
我期望通过该数据集完成:
-
🔧 从零构建数据模型,实现主副表联结、规范建模
-
📊 设计三个关键主题仪表盘,分别聚焦:
- 用户画像与行为趋势
- 订单支付与运营概览
- 商家与商品销售表现
-
📈 提炼核心业务 KPI(GMV、订单数、退货率等),支持筛选与下钻
-
🎯 为后续的机器学习建模(如延迟预测、用户分群)打下基础
📦 数据准备与挑战
项目数据由 9 张表格组成,结构良好、信息丰富,但初期也面临不少实际挑战:
🧱 挑战一:复杂的雪花模型路径 & 模型冲突
原始数据表之间存在多条路径,比如 olist_geolocation_dataset 同时可与 客户、商家两个维度关联,导致 Power BI 自动建模时报错。
✅ 解决方案:
复制 olist_geolocation_dataset 为两份表,分别命名为 Customer_Geolocation 和 Seller_Geolocation,独立连接至对应维度,解决路径歧义。
🧩 建模结构与字段处理
建模关系核心:
Customer → Order → Order Items → Seller → Product
↓ ↓
Payments Reviews
衍生字段构建示例:
在构建 KPI 指标时,我使用了大量 DAX 函数实现业务逻辑提取:
GMV = SUM('order_items'[price])
Avg_Order_Value = [GMV] / [订单总数]
Order_Month = FORMAT('orders'[order_purchase_timestamp], "YYYY-MM")
📌 仪表盘设计结构
✅ 仪表盘一:用户行为分析看板
核心组件:
- KPI 区域:注册用户总数、活跃用户、复购率等
- 趋势图:月度注册趋势、月度活跃用户趋势
- 用户分布:按州、城市、价值区间(基于消费金额划分)
- 切片器支持:州、注册时间段等
遇到的挑战:
- ❓没有“活跃”标签字段,如何定义活跃用户?
✅ 我设定只要用户在某月有一次订单,即视为“活跃”,并用 DAX 实现筛选。
✅ 仪表盘二:订单与支付概况
核心组件:
- KPI:总订单数、平均支付金额、退款订单数等
- 趋势图:月度订单量变化、支付方式分布
- 支付分析:分期付款情况(DAX 分箱)、各付款方式金额对比
挑战与解决:
- ❗**“付款期数”字段为离散值,图表难以展示趋势**
✅ 使用分箱处理,构建字段Payment_Term_Category,分为短分期、中分期、长分期,提升可读性。
Payment_Term_Category =
SWITCH(TRUE(),
payments[payment_installments] <= 6, "短分期",
payments[payment_installments] <= 12, "中分期",
"长分期"
)
✅ 仪表盘三:商家与产品表现
核心组件:
- 商家 KPI:销售金额 Top10、商家热力图(使用地理编码)
- 产品表现:各类目销售量、退款率
- 排序控制:只显示 Top 类别或商家(通过排序后使用前 N 筛选)
挑战与解决:
- ❓产品类别是葡萄牙语,需要转换为英文以便理解
✅ 使用提供的product_category_name_translation表映射成英文类别,提升可视化可读性。
🛠 技术与工具
- Power BI Desktop:数据建模、DAX 编写、仪表盘设计
- Excel:初期数据结构分析与清洗
- DAX:构建指标字段、分箱、动态筛选、图表控制

📈 项目总结与收获
| 模块 | 技能提升 |
|---|---|
| 数据建模 | 熟悉雪花结构建模与 Power BI 的路径管理 |
| 数据清洗 | 解决了数据缺失、多表关联等多个实际问题 |
| 可视化设计 | 形成三大主题仪表盘,具备较强结构化输出能力 |
| 业务理解 | 更深入理解电商场景下的用户行为与商家运营逻辑 |
🧠 思考与延伸方向
项目后续,我还计划基于这个数据集拓展以下方向:
- 📦 构建订单配送延迟的预测模型(已完成,详见我另一篇文章)
- 👥 用户价值分层(RFM + 聚类分析)
- 📢 结合用户评论数据做文本挖掘与情绪分析
🧲 结语
这是我转向数据分析赛道后第一次真正**“从头到尾”构建起一个可落地的 BI 项目**,过程中也确实遇到很多挑战,但最终通过不断调试与查阅资料,完成了从数据建模到仪表盘设计的全过程。
如果你觉得这篇文章对你有帮助,欢迎点赞、收藏,或关注我后续的数据分析系列实战~
如需完整 Power BI 文件、仪表盘设计稿,欢迎私信我交流!
更多推荐



所有评论(0)