惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
AI
AI
T
Threatpost
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cybersecurity and Infrastructure Security Agency CISA
Scott Helme
Scott Helme
AWS News Blog
AWS News Blog
P
Privacy & Cybersecurity Law Blog
G
GRAHAM CLULEY
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
CERT Recently Published Vulnerability Notes
Cyberwarzone
Cyberwarzone
NISL@THU
NISL@THU
P
Privacy International News Feed
Schneier on Security
Schneier on Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
SecWiki News
SecWiki News
T
Tor Project blog
W
WeLiveSecurity
Security Archives - TechRepublic
Security Archives - TechRepublic
Spread Privacy
Spread Privacy
H
Hacker News: Front Page
Latest news
Latest news
C
Cyber Attacks, Cyber Crime and Cyber Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Troy Hunt's Blog
Cisco Talos Blog
Cisco Talos Blog
人人都是产品经理
人人都是产品经理
腾讯CDC
博客园 - 【当耐特】
Engineering at Meta
Engineering at Meta
The Hacker News
The Hacker News
Application and Cybersecurity Blog
Application and Cybersecurity Blog
PCI Perspectives
PCI Perspectives
罗磊的独立博客
阮一峰的网络日志
阮一峰的网络日志
N
News and Events Feed by Topic
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
TaoSecurity Blog
TaoSecurity Blog
博客园 - 叶小钗
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Threat Research - Cisco Blogs
量子位
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
美团技术团队
D
Docker
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Tenable Blog

博客园 - 哥本哈士奇(aspnetx)

SQL Server 索引知识汇总 医疗器械行业 Salesforce Territory 完整落地实例 Raw Data Vault vs Business Data Vault Neo4j 多跳查询实战:从社交网络场景理解图遍历 Git 本地版本管理学习笔记 看完《低智商犯罪》,学习Cypher构建知识图谱 LangChain DeepAgents 学习笔记 LangChain Deepagent 版本0.6.1中间件一个bug Neo4j笔记(五):查询的处理流程 微软 SQL Server 版本演进史:从诞生到 SQL Server 2025 提升 Text2SQL 准确率 SQLServer Management Studio(SSMS) 22 Copilot 最佳实践学习笔记 SQLServer RAG笔记4:从服务层到前端交互 SQLServer RAG笔记5:为SQLServer 2025配置Ollama SQL Server RAG 笔记3:SQLServer2025 向量数据库 详解传统RAG、Text2SQL、Graph RAG:适用场景与问题示例汇总 SQL Server RAG 笔记2:图数据库服务层与前端可视化构建 SQL Server RAG 笔记1:图数据库构建 Neo4j 笔记(四):一篇文章如何入库的 数据仓库笔记 第六篇:PSA 层 SCD2 处理方式 数据仓库笔记 第五篇:Data Mart 层(数据集市) 数据仓库笔记 第四篇:Star Schema 层(维度建模) 数据仓库笔记 第三篇:常用缓慢变化维处理方式介绍 数据仓库笔记 第二篇:PSA 层(持久化暂存区)详解 数据仓库笔记 第一篇:数据仓库的定义、历史与意义 Neo4j 笔记(三):数据建模与程序连接实战 Neo4j 基础教程(二):Cypher CRUD 完全指南 Neo4j 基础教程(一):安装与快速入门 Power BI学习笔记第20篇:面试题汇总 · 第三篇:高级应用与最佳实践篇 Power BI学习笔记第19篇:面试题汇总 · 第二篇:数据建模与 DAX 篇 Power BI学习笔记第18篇:面试题汇总 · 第一篇:基础概念篇 Power BI学习笔记第15篇:企业级报表开发与最佳实践 Power BI学习笔记第13篇:高级可视化与自定义图表 Power BI学习笔记第14篇:Power Query 高级数据处理 Power BI学习笔记第12篇:DAX 高级计算与性能优化 Power BI学习笔记第11篇:高级数据建模与关系设计 Power BI学习笔记第08篇:报表交互与筛选器 Power BI学习笔记第09篇:Power BI Service 发布与共享 Power BI学习笔记第07篇:可视化图表设计与最佳实践 Power BI学习笔记第06篇:DAX 进阶:时间智能与复杂计算 Power BI学习笔记第05篇:DAX 基础:计算列与度量值 Power BI学习笔记第04篇:数据建模与关系管理 Power BI学习笔记第03篇:Power Query 数据清洗与转换 Power BI学习笔记第02篇:数据获取与连接数据源 Power BI学习笔记第01篇:Power BI 简介与环境搭建 Power BI Dashboard 常用布局方案推荐 Power BI 示例一览 OpenClaw 核心八大 MD 文件 Microsoft Agent Framework 智能体调用工具 Microsoft Agent Framework 创建智能体 一个简单案例理解OpenClaw的做梦过程 SQLAlchemy 学习笔记 LangChain RAG索引与查询 - 学习笔记 LangChain使用deep agent并且加载SKILL 本地系统对接大模型智能体的若干尝试 财务分析报告 - 常用Power BI DAX公式详解 用SKILL实现请假流程信息收集 使用小龙虾来操作猿编程的遥控车 使用OpenClaw的Skills对接本地系统 OpenClaw必装Skill全指南 Dify Agentic RAG 笔记 # 简单的神经网络计算过程 - 正负判断 使用Gradio构建AI前端 - RAG的QA模块 使用Gradio构建AI前端 - RAG召回测试 Streamlit + LangChain 1.0 简单实现智能问答前后端 利用AI Agent,辅助销售团队制定培训和考试内容 实现AI和BI整合的初步思路和探索-Part3 实现AI和BI整合的初步思路和探索-Part2 实现AI和BI整合的初步思路和探索 以《出师表》作为例子,对比通用分块和父子分块的区别 LangChain RAG 学习笔记:从文档加载到问答服务 记录无法修改OneDrive文件的解决方法 Power BI制作指标达成跟踪器 Power BI学习笔记-周报销售数据分析
Power BI学习笔记第10篇:实战案例 — 销售数据分析仪表板
哥本哈士奇(aspnet · 2026-04-25 · via 博客园 - 哥本哈士奇(aspnetx)

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

1. 案例背景与目标

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

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

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

2. 数据准备

2.1 源数据结构

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

销售明细表(Sales)

订单ID 订单日期 产品类别 产品名称 区域 客户名称 销售员 销售额 成本 数量
10001 2024-01-05 电子产品 手机A 北京 客户甲 张三 5000 3500 10
10002 2024-01-08 服装 服装A 上海 客户乙 李四 2000 1200 20
... ... ... ... ... ... ... ... ... ...

产品表(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 发布前检查清单

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 报表