Power BI 基础
Power BI 是微软出品的商业智能工具,Desktop 版免费下载,拖拽式做图表和仪表盘,与 Excel 深度集成,内置 Copilot AI 助手,是企业数据分析的标配工具,学会后简历上写"熟悉 Power BI"非常加分。
核心知识点
| 知识点 | 说明 |
|---|
| 工具定位 | 商业智能与数据可视化工具 |
| 最新版本 | 2026 年 4 月更新(每月更新) |
| 开发公司 | 微软(Microsoft) |
| 核心优势 | Excel 集成、DAX 计算、AI Copilot、免费桌面版 |
| 产品线 | Desktop(免费)、Pro(付费)、Premium |
| 新特性 | Copilot AI、PBIR 格式、ARM 原生支持 |
安装配置
=== 安装方式 ===
方式 1:Microsoft Store(推荐)
1. 打开 Microsoft Store
2. 搜索 "Power BI Desktop"
3. 点击安装(免费)
方式 2:官网下载
1. 访问 https://powerbi.microsoft.com/downloads/
2. 下载 Power BI Desktop
3. 安装(支持 Windows 10/11)
注意:Power BI Desktop 目前只支持 Windows
Mac 用户可以用 Power BI Service(网页版)
或通过虚拟机 / Parallels 运行 Windows 版
=== 系统要求 ===
- Windows 10 / 11 / Server 2016+
- .NET Framework 4.8+
- 4GB 内存(建议 8GB+)
- 1GB 可用磁盘空间
基本使用
1. 数据导入
=== 连接数据源 ===
Power BI 支持 100+ 种数据源:
- Excel 文件(.xlsx) 最常用
- CSV / TXT 文本文件
- SQL Server / MySQL 数据库
- PostgreSQL 数据库
- Web 网页数据
- Python / R 脚本 编程语言
- JSON JSON 文件
操作步骤:
1. 打开 Power BI Desktop
2. Home → Get Data
3. 选择数据源类型(如 Text/CSV)
4. 选择文件 → Load
5. 数据出现在右侧 Fields 面板
2. 创建第一个图表
=== 拖拽式创建图表 ===
1. 在右侧 Fields 面板找到你的数据字段
2. 勾选或拖拽字段到画布:
- 勾选 "物种名" → 自动成为 X 轴
- 勾选 "丰度" → 自动成为 Y 轴
- Power BI 自动生成柱状图!
3. 切换图表类型:
- 在 Visualizations 面板选择其他图表图标
- 柱状图、折线图、饼图、散点图...
4. 格式化:
- 点击图表 → Format(刷子图标)
- 修改标题、颜色、字号、坐标轴等
=== 常用图表类型 ===
- 柱状图 / 条形图 分类比较
- 折线图 时间趋势
- 饼图 / 环形图 组成占比
- 散点图 两变量关系
- 矩阵(表格) 详细数据
- 卡片 单个关键指标
- KPI 目标达成情况
- 树状图 层级结构
- 地图 地理分布
3. 筛选与切片器
=== 添加切片器(交互式筛选)===
1. Visualizations → 选择 "Slicer"(切片器图标)
2. 把 "组别" 字段拖到切片器
3. 画布上出现可交互的筛选器
4. 点击 "健康" → 所有图表只显示健康组数据
=== 筛选器面板 ===
右侧 Filters 面板:
- Visual Level Filters 只影响当前图表
- Page Level Filters 影响当前页面所有图表
- Report Level Filters 影响所有页面所有图表
拖字段到对应筛选区域 → 设置筛选条件
高级用法
1. DAX 公式(数据分析表达式)
=== DAX 是 Power BI 的公式语言 ===
// 新建度量值(Measure)
// Home → New Measure
// 基本聚合
总丰度 = SUM(abundance[value]) // 求和
平均丰度 = AVERAGE(abundance[value]) // 平均
物种数 = COUNTROWS(species) // 行数
最大值 = MAX(abundance[value]) // 最大
// 条件计算
健康组丰度 = CALCULATE(
SUM(abundance[value]), // 计算什么
abundance[group] = "健康" // 筛选条件
)
// 占比计算
丰度占比 = DIVIDE(
SUM(abundance[value]), // 分子
CALCULATE(SUM(abundance[value]), ALL(abundance)), // 分母(总计)
0 // 除零时返回 0
)
// 年同比增长
同比增长 = DIVIDE(
[本年丰度] - [去年丰度],
[去年丰度],
0
)
// 累计求和
累计丰度 = CALCULATE(
SUM(abundance[value]),
FILTER(
ALL(abundance[date]), // 忽略日期筛选
abundance[date] <= MAX(abundance[date]) // 到当前日期
)
)
2. 数据建模(关系)
=== 表之间建立关系 ===
1. 左侧点击 "Model" 视图
2. 拖拽字段连接两个表
3. 例如:
- abundance 表的 "sample_id"
- metadata 表的 "sample_id"
- 建立一对多关系
=== 关系类型 ===
- 一对多 (1:*) 最常见,如样本→丰度数据
- 一对一 (1:1) 如样本→元数据
- 多对多 (*:*) 需要中间表
=== 星型模型(推荐)===
中心:事实表(丰度数据)
周围:维度表(样本信息、物种分类、时间维度)
3. 仪表盘页面
=== 创建多页面报告 ===
1. 底部点击 "+" 添加新页面
2. 每页放不同主题的图表:
- Page 1: 概览(KPI 卡片 + 趋势图)
- Page 2: 物种分析(柱状图 + 饼图)
- Page 3: 多样性(箱线图 + 散点图)
- Page 4: 详细数据(矩阵表格)
3. 添加导航按钮:
- Insert → Button → Navigation
- 设置跳转到其他页面
4. Python / R 集成
# Power BI 中可以运行 Python 脚本
# Home → Transform Data → Run Python Script
import pandas as pd # 导入 Pandas
import matplotlib.pyplot as plt # 导入 Matplotlib
# dataset 是 Power BI 传入的 DataFrame
df = dataset # Power BI 数据
# 生成自定义图表
fig, ax = plt.subplots(figsize=(8, 5))
ax.barh(df['物种'], df['丰度']) # 水平柱状图
ax.set_xlabel('丰度 (%)')
ax.set_title('物种丰度')
plt.tight_layout()
plt.show() # 显示在 Power BI 中
5. 发布与共享
=== 发布到 Power BI Service ===
1. File → Publish → Publish to Power BI
2. 选择工作区
3. 等待上传完成
4. 在 app.powerbi.com 查看
=== 共享方式 ===
- Power BI Service(Web) 在线查看和编辑
- 嵌入 SharePoint 企业内网嵌入
- 导出 PDF 静态报告
- 导出 PowerPoint 演示文稿
=== Copilot AI(2025-2026 新功能)===
- 自然语言提问:输入"显示各组的平均丰度"
- AI 自动生成图表
- 自动生成度量值描述
- 移动端也能使用 Copilot
常见报错与解决
| 报错信息 | 原因 | 解决方法 |
|---|
| 数据类型不匹配 | 文本被识别为数值 | Transform Data 中修改类型 |
| 关系创建失败 | 字段类型不一致 | 确保关联字段类型相同 |
| DAX 计算错误 | 语法或逻辑问题 | 检查函数名和括号匹配 |
| 刷新数据失败 | 数据源路径变了 | Data Source Settings 中更新 |
| 文件太大无法发布 | 超过 1GB 限制 | 减少数据量或升级 Premium |
速查表
===== Power BI 速查表 =====
# 界面区域
Report View 报告视图(画布)
Data View 数据视图(查看表格)
Model View 模型视图(表关系)
Fields Panel 字段面板(右侧)
Visualizations 可视化面板(右侧)
Filters 筛选器面板(右侧)
# 常用操作
Get Data 导入数据
Transform Data 数据清洗(Power Query)
New Measure 新建 DAX 度量值
Publish 发布到云端
# DAX 基础函数
SUM() 求和
AVERAGE() 平均
COUNT() 计数
COUNTROWS() 行数
MAX() / MIN() 最大/最小
CALCULATE() 带条件的计算
DIVIDE() 安全除法
IF() 条件判断
ALL() 忽略筛选
FILTER() 行级筛选
# 快捷键
Ctrl+Z 撤销
Ctrl+C/V 复制/粘贴
Ctrl+G 分组
Ctrl+Shift+F 全屏
Alt+F4 关闭
# Power BI vs Tableau vs Excel
# Power BI: 微软生态,DAX 强大,免费桌面版
# Tableau: 可视化最美,社区最大,Public 版免费
# Excel: 最熟悉,小数据量够用,缺乏交互
# 建议:三个都会最好,Power BI 是企业环境首选