当前位置: 首页 > news >正文

Power BI学习笔记第10篇:实战案例 — 销售数据分析仪表板

第10篇:实战案例 — 销售数据分析仪表板

1. 案例背景与目标

本篇将用一个小型的销售数据分析场景,串联整个系列教程的知识要点。

业务背景
某公司有 2024 年的销售数据,需要制作一个仪表板,满足以下分析需求:

  1. 总览:年销售额、订单数、客户数、客单价
  2. 趋势:月度销售额走势(含同比)
  3. 构成:各产品类别销售额占比
  4. 对比:各区域销售业绩排名
  5. 明细:支持按产品类别和区域筛选

2. 数据准备

2.1 源数据结构

本案例使用 Excel 文件导入,包含以下三张表:

销售明细表(Sales)

订单ID订单日期产品类别产品名称区域客户名称销售员销售额成本数量
100012024-01-05电子产品手机A北京客户甲张三5000350010
100022024-01-08服装服装A上海客户乙李四2000120020

产品表(Products)

产品ID产品名称产品类别品牌单位成本
P01手机A电子产品品牌甲3500
P02服装A服装品牌乙1200

客户表(Customers)

客户ID客户名称地区客户等级
C01客户甲北京VIP
C02客户乙上海普通

💡 实际项目中,数据可能来自 ERP 系统或数据库。此处用 Excel 模拟,方便读者自行练习。

2.2 导入数据

  1. 打开 Power BI Desktop → “获取数据” → “Excel 工作簿”
  2. 加载销售明细、产品表、客户表三张表
  3. 确认数据类型:订单日期改为日期类型,销售额/成本改为小数类型

3. 数据建模

3.1 建立关系

进入"模型视图",按以下方式建立关系:

产品表(1)——→(*)销售明细表(产品名称) 客户表(1)——→(*)销售明细表(客户名称) 日期表(1)——→(*)销售明细表(订单日期)

3.2 创建日期表

在 Power Query 中用 DAX 创建日期表:

日期表 = ADDCOLUMNS( CALENDAR(DATE(2024,1,1), DATE(2024,12,31)), "年", YEAR([Date]), "月", MONTH([Date]), "年月", FORMAT([Date], "yyyy-MM"), "季度", "Q" & QUARTER([Date]), "年度月份", FORMAT([Date], "yyyy-MM"), "星期", FORMAT([Date], "dddd") )

标记日期表:“表格工具” → “标记为日期表” → 选择 Date 列。


4. 创建 DAX 度量值

在建模视图或数据视图中创建以下度量值,集中管理:

4.1 核心KPI指标

// 总销售额 销售额总计 = SUM(Sales[销售额]) // 总成本 成本总计 = SUM(Sales[成本]) // 总利润 总利润 = [销售额总计] - [成本总计] // 利润率 利润率 = DIVIDE([总利润], [销售额总计]) // 订单数量 订单数量 = DISTINCTCOUNT(Sales[订单ID]) // 客户数量(去重) 客户数量 = DISTINCTCOUNT(Sales[客户名称]) // 客单价 客单价 = DIVIDE([销售额总计], [客户数量]) // 总销售数量 销售数量总计 = SUM(Sales[数量])

4.2 时间智能指标

// 去年同期销售额 销售额_去年同期 = CALCULATE( [销售额总计], SAMEPERIODLASTYEAR('日期表'[Date]) ) // 同比增长率 销售额_同比 = DIVIDE( [销售额总计] - [销售额_去年同期], [销售额_去年同期] ) // 年累计销售额 销售额_YTD = TOTALYTD([销售额总计], '日期表'[Date]) // 上年同期年累计 销售额_YTD_去年同期 = CALCULATE( [销售额_YTD], SAMEPERIODLASTYEAR('日期表'[Date]) )

4.3 排名与占比

// 产品类别销售占比 销售占比_类别 = DIVIDE( [销售额总计], CALCULATE([销售额总计], ALL(Sales[产品类别])) ) // 区域排名 区域排名 = RANKX( ALL(Sales[区域]), [销售额总计], , DESC, DENSE )

5. 设计报表页面

5.1 第一页:首页总览(KPI Dashboard)

布局设计:

┌──────────────────────────────────────────────┐ │ 2024年销售总览 [区域切片器] [类别切片器]│ ├────────────┬────────────┬────────────┬─────────┤ │ 💰 总销售额 │ 📦 订单数 │ 👥 客户数 │ 💎 客单价 │ │ ¥1,234,567 │ 1,520 │ 320 │ ¥3,858 │ │ ↑12.5% │ ↑8.2% │ ↑5.1% │ ↑3.8% │ ├────────────┴────────────┴────────────┴─────────┤ │ 月度销售额趋势(折线+柱形组合图) │ │ Y轴:销售额 | X轴:月份 | 对比:今年 vs 去年 │ ├──────────────────────────┬────────────────────┤ │ 各产品类别销售占比(饼图)│ 各区域销售排名(条形图)│ │ 可点击联动到其他图表 │ 带数据标签 │ └──────────────────────────┴────────────────────┘

可视化设置

图表字段配置格式设置
KPI卡片(4个)度量值 → 指标;可选:同期值 → 目标打开数据标签、副标题显示同比
组合图轴:年月;列值:销售额;线值:销售额_同比显示双轴,关闭列的图例
饼图图例:产品类别;值:销售额总计显示数据标签:百分比
条形图Y轴:区域;X轴:销售额总计降序排列,显示数据标签

5.2 第二页:产品分析

┌──────────────────────────────────────────────┐ │ 产品分析 [产品类别切片器] [品牌切片器] │ ├──────────────────────────────────────────────┤ │ 产品类别月度趋势(堆积柱形图) │ │ X轴:年月 | Y轴:销售额 | 堆叠:产品类别 │ ├──────────────────────────┬────────────────────┤ │ 产品销售排名(表格) │ 产品利润排行榜 │ │ 含:销售额、同比、占比 │ 按利润率排序 │ └──────────────────────────┴────────────────────┘

表格条件格式

  • 销售额列 → 数据条
  • 同比列 → 字体颜色(绿色=正增长,红色=负增长)
  • 利润率列 → 色阶(红→黄→绿)

5.3 第三页:区域分析

┌──────────────────────────────────────────────┐ │ 区域分析 [区域切片器] [季度切片器] │ ├──────────────────────────────────────────────┤ │ 各区域月度销售额(分区柱形图) │ ├─────────────┬──────────────┬──────────────────┤ │ 区域销售排名 │ 区域销售漏斗 │ 区域客户数分布 │ │ 条形图 │ 瀑布图 │ 环形图 │ └─────────────┴──────────────┴──────────────────┘

5.4 第四页:明细数据

┌──────────────────────────────────────────────┐ │ 销售明细 [搜索框] [日期范围切片器] │ ├──────────────────────────────────────────────┤ │ 矩阵表(支持展开折叠) │ │ 行:区域→产品类别→产品名称(层级展开) │ │ 列:销售额 | 成本 | 利润 | 利润率 | 数量 │ │ 支持条件格式、排序、小计 │ └──────────────────────────────────────────────┘

6. 添加交互功能

6.1 切片器同步

在所有页面添加统一切片器:

  • "区域"切片器(影响所有页面)
  • "产品类别"切片器(影响所有页面)
  • "时间范围"切片器(相对日期:过去12个月)

6.2 页面导航

使用"按钮+书签"创建页面切换导航栏,替代传统页面标签:

  1. 在每页顶部添加一个横条
  2. 插入4个按钮,分别对应4个页面
  3. 每个按钮绑定对应书签的"转到页面"操作

6.3 钻取功能

在"区域分析"页面,添加钻取到"产品分析"页面的功能:

  1. 创建钻取页面:按区域展开的详细产品销售分析
  2. 在条形图上右键 → “钻取” → 选择区域 → 跳转到钻取页

7. 发布与共享

7.1 发布前检查清单

  • 所有切片器能正确联动
  • KPI 数字格式正确(货币格式、百分比格式)
  • 同比增长率显示正负颜色
  • 钻取功能测试通过
  • 页面导航按钮工作正常
  • 条件格式(数据条、色阶)显示正常

7.2 发布流程

  1. 保存 .pbix 文件
  2. 点击"发布" → 选择"我的工作区"或新建工作区
  3. 等待上传完成

7.3 配置定时刷新

  1. 在 Power BI Service 中打开数据集
  2. 设置计划刷新(每天凌晨自动刷新)
  3. 如果使用本地 Excel 文件,需安装并配置本地数据网关

7.4 共享设置

  1. 点击右上角"共享"
  2. 邀请团队成员邮箱
  3. 设置权限:允许查看、允许导出数据、允许构建内容

8. 报表优化建议

问题优化方向
报表加载慢减少 DAX 计算量;减少页面视觉对象数量
图表不联动检查"编辑交互"设置
刷新失败检查数据源凭据和网关状态
移动端显示差在"视图"中切换到"手机布局"专门设计移动版
数据泄露风险配置行级安全(RLS),限制不同用户的数据范围

9. 进阶学习方向

完成本系列教程后,可以进一步学习:

方向说明
DAX 高级模式学习 TREATAS、CROSSFILTER 等高级函数
Power Query 高级学习参数化查询、自定义函数
增量刷新(Premium)处理 GB-TB 级数据的增量加载
数据流(Dataflow)在云端统一管理数据转换逻辑
Power BI 嵌入式将报表嵌入到企业自有应用中
高级可视化学习 R 和 Python 视觉对象
行级安全(RLS)构建多租户 SaaS 报表

http://www.jsqmd.com/news/700223/

相关文章:

  • 嵌入式机器人开发实战:从零到整的20个STM32F4核心示例深度解析
  • DeepSeek V4写的文章AI率高怎么降?2026年4月3步降到5% - 我要发一区
  • 如何用新蜂商城在2分钟内搭建完整的电商系统?
  • 英雄联盟国服终极换肤神器:R3nzSkin完整使用指南
  • (课堂笔记)Oracle 表关联:连接类型、数据发散、自关联、同环比计算
  • 高级安卓开发在DVR类产品中的应用与挑战
  • .NET 集成 SqlSugar、读写分离 、Redis
  • 生产级AI智能体架构实战:从原型到产品的工程化指南
  • DeepSeek V4写完用哪款降AI?2026年4月4款工具横评 - 我要发一区
  • 2026年独立站+TikTok Shop双轨策略:为什么聪明品牌不再押注单一渠道 - SocialEcho社媒管理
  • OpenCore Legacy Patcher终极指南:如何免费让旧Mac焕发新生
  • 【AI工具】2026年实用免费AI工具全分享:聊天、编程、设计三类工具实测对比
  • 终极DOL汉化美化整合指南:5分钟打造完美中文游戏体验
  • 从“学模型”到“做应用”:AI产品的30天实战进化指南
  • 在 Claude Code 里跑 DeepSeek-V4-Pro,三步搞定
  • 毫米波大规模MIMO中的波束空间处理技术解析
  • 效果展示:LFM2.5-VL-1.6B多语言图片理解实测,小模型也有大能耐
  • C语言内存安全面试必考TOP 15题(2026最新真题库+逐行安全分析)
  • 从‘虹猫蓝兔’到终身学习:聊聊Continual Learning如何让AI模型像人一样成长
  • LSTM时间序列预测实战:从原理到销售预测应用
  • 实用高效的AutoHotkey脚本编译指南:轻松将AHK转换为EXE可执行文件
  • 全局坐标转局部坐标推导 - Ladisson
  • 固态硬盘(SSD)优化特辑:TRIM、预留空间与垃圾回收
  • 深度学习必读三书:从理论到实践的经典指南
  • 工业自动化工程师必装的VSCode插件(2026版协议解析器深度拆解)
  • D2RML终极教程:暗黑2重制版一键多开神器,告别繁琐登录!
  • 用STM32CubeMX和HAL库快速上手MAX30102,告别繁琐的寄存器配置
  • 医疗器械管代的职责
  • AtCoder Beginner Contest 455 ABCDEF 题目解析
  • UniApp跨端视频播放器进阶:从官方限制到自定义全功能实现