数据获取与连接:从Excel、CSV、数据库及云端数据源导入数据
经营分析看板的价值,首先取决于数据能否准确、及时地进入 Power BI。数据获取与连接是搭建看板的第一道工序,也是后续数据建模与可视化的基础。本章将系统讲解从 Excel、CSV、SQL Server、MySQL 及云端数据源导入数据的完整路径,并针对高频连接故障给出可落地的排查方案。无论你是财务、销售还是运营分析人员,掌握这些方法都能显著减少“数据进不来”或“数据对不上”的困扰。
3.1 文件数据源导入:Excel 与 CSV 的精细控制
核心原理
Excel 和 CSV 是经营分析中最常见的数据载体。Power BI 通过内置的 Power Query 引擎读取文件内容,其核心优势在于:不直接加载原始数据,而是先建立“查询”引用,允许你在加载前完成列类型修正、过滤、合并等操作。Excel 文件本质是压缩包格式(XLSX),Power Query 会解析其中的 Sheet、命名区域和表格;CSV 则是纯文本,需要明确指定分隔符、编码和区域设置。
操作流程
- 获取数据入口:在 Power BI Desktop 的“开始”选项卡中,点击“获取数据” → 选择“Excel”或“文本/CSV”。
- 文件定位与预览:浏览文件路径,系统会弹出导航器窗口,左侧显示所有 Sheet 或表格对象,右侧显示数据预览。
- 转换或加载:点击“转换数据”进入 Power Query 编辑器进行清洗;点击“加载”则直接导入数据模型。
- CSV 特殊设置:在连接 CSV 时,注意检查“文件原始格式”(默认 UTF-8)、“分隔符”(逗号、分号、制表符)和“数据类型检测”选项。
| 对比维度 | Excel(XLSX) | CSV |
|---|---|---|
| 多 Sheet 支持 | 支持,可分别选择 | 不支持,单表结构 |
| 数据类型保留 | 较好,但日期/数字仍需校验 | 全部按文本读取,需手动转换 |
| 公式与格式 | 仅读取值,忽略公式和样式 | 无公式概念 |
| 性能表现 | 文件较大时加载较慢 | 轻量,加载速度快 |
| 常见问题 | 合并单元格、空行干扰 | 乱码、分隔符错位 |
实战场景:销售明细 CSV 导入
某零售企业每日导出销售明细 CSV(约 5 万行),包含订单号、商品编码、销售数量、单价、成交时间等字段。初始导入时发现“成交时间”列显示为文本,且“单价”列带有货币符号“¥”。在 Power Query 中执行以下操作:
- 将“成交时间”列类型改为“日期时间”,并指定格式“yyyy-MM-dd HH:mm:ss”。
- 对“单价”列使用“替换值”功能,删除“¥”字符,再转换为小数类型。
- 删除“订单号”列中的重复项,确保唯一性。
- 添加自定义列“销售额” = 销售数量 × 单价。
清洗完成后加载到模型,后续透视汇总效率显著提升。此案例说明:CSV 导入的关键在于“类型修正”和“清洗规则”的固化,Power Query 会自动记录步骤,下次刷新时自动重放。
3.2 数据库连接:SQL Server 与 MySQL 的配置与优化
核心原理
数据库连接采用 驱动程序 + 连接字符串 的机制。Power BI 通过 ODBC 或 ADO.NET 驱动与数据库通信。SQL Server 使用原生 SQL Server Native Client,MySQL 则需要安装 MySQL Connector/NET 或 ODBC 驱动。连接时需指定服务器地址、端口、数据库名、身份验证方式(Windows 或 SQL 账号)。Power Query 会将你的表选择或 SQL 查询语句翻译为底层数据源可执行的命令,并支持“查询折叠”——即尽可能将过滤、聚合操作下推到数据库执行,减少本地内存压力。
判断方法与操作流程
- 连接前检查:确认数据库服务是否启动、端口是否开放(SQL Server 默认 1433,MySQL 默认 3306)、防火墙是否放行。
- SQL Server 连接:选择“SQL Server 数据库”连接器 → 输入服务器名称(如
192.168.1.100,1433)→ 选择数据库 → 选择“DirectQuery”或“Import”模式。 - MySQL 连接:选择“MySQL 数据库”连接器 → 输入服务器和端口 → 输入用户名/密码 → 在高级选项中可以编写 SQL 语句。
- 测试连接:点击“确定”后,Power BI 会测试连接并显示数据库对象树。
案例拆解:SQL Server 销售订单导入
某制造企业需要分析近三年的订单数据,数据量约 800 万行,存储在 SQL Server 中。初始使用 Import 模式导入,耗时 20 分钟且内存占用过高。优化方案如下:
| 步骤 | 操作 | 效果 |
|---|---|---|
| 1 | 在 Power Query 中编写 SQL 语句,仅提取“订单日期 >= 2022-01-01”的数据 | 数据量降至 300 万行 |
| 2 | 删除不需要的列(如备注、内部标识) | 减少列存储开销 |
| 3 | 将“订单日期”列改为日期类型,并创建日期维度表关联 | 提升时间筛选性能 |
| 4 | 设置每日凌晨 2 点刷新 | 保证数据时效性 |
优化后导入时间缩短至 4 分钟,看板响应速度提升 60%。此案例说明:数据库导入的核心策略是“源头过滤”和“按需取数”,不要盲目全量加载。
3.3 云端数据源与常见连接故障排查
核心原理
云端数据源包括 Azure SQL、SharePoint 列表、Dataverse、Google Analytics 等。Power BI 通过 OAuth 2.0 或 进行身份验证。与本地数据源不同,云端连接通常需要经过 Internet 网关,且受租户权限、数据网关配置影响。对于 SharePoint 列表,Power Query 会调用 REST API 获取数据;对于 Azure Blob,需要提供存储账户名称和密钥。
常见连接问题与排查清单
| 问题现象 | 可能原因 | 排查方法 |
|---|---|---|
| 无法连接 SQL Server | 端口未开放、SQL 服务未启动、账号权限不足 | 使用 SSMS 测试连接;检查防火墙规则 |
| MySQL 驱动缺失 | 未安装 Connector/ODBC 驱动 | 下载安装对应版本驱动,重启 Power BI |
| SharePoint 列表加载失败 | 权限不足、列表名称变更、网关未配置 | 检查 Office 365 账号权限;确认列表 URL |
| 数据刷新超时 | 数据量过大、网关网络不稳定 | 优化查询、增加超时时间设置 |
| CSV 乱码 | 文件编码非 UTF-8 | 在 Power Query 中手动指定“文件原始格式”为 GBK |
案例拆解:SharePoint 列表连接故障处理
某互联网公司使用 SharePoint 列表维护项目任务清单,需要将其导入 Power BI 制作进度看板。连接时提示“无法刷新预览”。排查过程:
- 检查账号权限:确认当前用户对列表有“读取”权限。
- 验证 URL 正确性:在浏览器中打开列表,复制完整 URL 到连接器。
- 检查网关状态:由于公司启用了混合部署,需要安装并配置本地数据网关。
- 查看错误日志:在“选项与设置” → “数据源设置”中查看详细错误信息,发现是 OAuth 令牌过期。
最终通过重新登录 Office 365 账号并刷新令牌解决。此案例表明:云端连接故障的排查应遵循“权限 → 网络 → 凭据 → 网关”的顺序,避免盲目重装驱动。
3.4 数据导入后的验证与总结复盘
核心原理
数据导入不是终点,而是起点。导入后必须进行 数据质量验证,包括行数核对、列完整性检查、重复值检测、异常值筛查。Power BI 的“数据视图”和“Power Query 的列质量”功能可辅助完成这些检查。同时,建议建立“数据源文档”,记录每个表的来源、刷新频率、清洗规则和负责人,便于后期维护。
验证清单
- 行数是否与源系统一致(或符合预期过滤条件)。
- 关键字段(如订单号、日期)是否有空值。
- 数值字段的求和、平均值是否在合理范围内。
- 日期字段是否识别为日期类型,而非文本。
- 是否存在重复记录,是否需要去重。
通过本章的学习,你已经掌握了从文件、数据库和云端导入数据的完整路径,并了解了常见连接问题的排查思路。在实际项目中,请务必养成“先预览、再清洗、后加载”的习惯,这将为后续的数据建模和看板搭建打下坚实基础。