拓冰建站拓冰建站
首页 / 资讯中心 / 正文

数据分析工具学习路线:Excel、SQL、Power BI与Python的合理分工

很多想转行数据分析的人第一反应就是把 Excel、SQL、Power BI、Python 全部学一遍。问题在于四类工具一起学时间成本极高而且很容易出现“每个工具都用过面试时却说不出分工”的情况。真正需要拆解的并不是工具数量而是一条能落地、能验证、能写进简历的分析链路先解决“数据怎么拿”再解决“数据怎么算”最后解决“结果怎么给别人看”。这篇文章以一类“两个月、37 小时数据分析全课程”的内容结构为底稿把 Excel、SQL、Power BI、Python 四部分拆成可执行的学习路线。不是罗列命令和函数而是从求职视角说明每一类工具到底学到什么程度、面试考什么、简历上应该怎么写以及容易踩的坑在哪里。1. 先理解四类工具在分析链路中的分工再决定学习顺序数据分析求职不要求你同时精通所有工具但要求你清楚每一个工具解决哪个环节的问题。很多学习计划失败不是因为难度高而是因为把 Excel 学成了 SQL把 Power BI 学成了 Excel最后所有工具都变成“查数工具”简历自然缺乏说服力。1.1 Excel、SQL、Power BI、Python 分别解决什么问题从数据分析项目流转来看四类工具处于不同阶段侧重点完全不同。工具在数据分析链路中的位置核心能力面试考察重点简历上的价值Excel数据探查、临时处理、报表输出公式、数据透视表、Power Query是否能快速清洗一份不规整表格适合写进日常运营分析、临时取数场景SQL数据提取、数据加工查询、聚合、多表关联是否理解执行顺序、能否写正确关联较重要的技能项目数据来源全靠它Power BI可视化建模、报表展示数据模型、DAX、图表交互是否能构建事实表与维度表模型适合写进报表自动化、看板构建项目Python批量自动化、复杂计算、爬虫与脚本pandas、数据处理、文件操作是否能处理 Excel 和数据库之外的数据加分项体现自动化能力和工程思维实际学习时可以用一条主线串起来用 Excel 做小样本探索用 SQL 从数据库取数用 Power BI 建立分析模型用 Python 解决重复性工作。主线通了工具就是手段而不是目的。1.2 为什么“37 小时”能拆出求职所需的核心内容常见的数据分析课程时长很长但真正对求职有效的内容并没有想象中那么多。37 小时可以拆成四个阶段每一阶段都围绕“能交付一份项目”来设计。Excel 阶段约 6 小时重点不是快捷键而是数据清洗函数、数据透视表、Power Query 基本操作。SQL 阶段约 12 小时重点是多表关联、聚合计算、子查询和窗口函数。Power BI 阶段约 10 小时重点是数据模型、DAX 度量值、基础图表和发布分享。Python 阶段约 9 小时重点是 pandas 数据处理、Excel 文件批量处理和简单自动化脚本。这个分配比例说明一个事实SQL 和 Power BI 构成数据分析项目的骨架Excel 和 Python 更多承担数据接入和交付环节。如果你的目标是尽快求职学习顺序建议是 SQL、Power BI、Excel、Python而不是按课程名称的顺序平铺学习。注意这里的“37 小时”是针对有一定 Office 基础、能看懂英文函数名的学习者。零基础人群需要把时间翻倍尤其是 SQL 关联和 pandas 数据处理部分不能只靠看视频必须动手练习。2. Excel 阶段真正有用的是清洗函数和数据透视表不是快捷键很多 Excel 教程一上来就讲 VLOOKUP、IF、SUMIFS但实际面试和工作中最卡人的往往是数据不规整。你要处理的原始表可能包含合并单元格、文本数字混杂、重复记录、首字母带空格等问题。这一类问题函数能解决大半Power Query 能解决剩下部分。2.1 面试高频的 Excel 函数组合日常分析中单个函数用得少函数组合才是常态。先掌握下面几组VLOOKUP(A2, 订单表!$A:$D, 4, 0) XLOOKUP(A2, 客户表!$A:$A, 客户表!$D:$D) SUMIFS(销售额列, 区域列, 华东, 日期列, 2024-01-01) INDEX(B:B, MATCH(E2, A:A, 0))关键点VLOOKUP 第四个参数写 0 表示精确匹配。实际数据里模糊匹配极易出错默认至少要显式写 0。XLOOKUP 在较新版本 Office 中可用写法比 VLOOKUP 更直观也可以避免“查找列必须在首列”的限制。SUMIFS 比 SUMIF 更值得学习因为多条件场景更常见。INDEXMATCH 能处理从左向右反查的场景面试时提到这个组合会明显加分。2.2 清洗常见脏数据的处理思路搜索热词里出现“excel 提取拼音不带音标”“excel 提取第几位到第几位”说明文本处理是实际高频需求。文本提取不一定靠“拼音函数”Excel 本身没有拼音提取的内置数组函数但可以通过 VBA 或外部插件实现。普通文本位置提取更常用的是这几个函数LEFT(A2, 3) MID(A2, 5, 8) RIGHT(A2, 4) LEN(A2) FIND(_, A2)处理逻辑遵循“先定位再提取”的原则先用 FIND 找到分隔符位置再用 MID 按位置截取。例如从订单编号ORD-2024-001中提取2024可以写MID(A2, FIND(-, A2)1, 4)这个写法比硬编码位置更稳因为分隔符位置变化后仍然有效。2.3 不建议手动拖拽把重复步骤交给 Power QueryExcel 中的“手动拖拽”指两种行为一种是下拉填充公式另一种是反复筛选、替换、删除。长时间看这两类操作问题不大但数据量大以后手动操作容易出现漏选、错选而且无法追溯过程。更稳妥的方式是进入“数据”选项卡使用 Power Query 完成清洗。它能记录每一步操作生成一个可刷新查询。原数据更新后只需要点击“刷新”就能重新执行清洗流程。这样既避免了重复劳动也让清洗过程可复现。学习环境提示普通 Office 365 或 Excel 2016 以上版本自带 Power Query不需要额外安装。如果是公司电脑需要确认 Excel 版本是否有相关权限。3. SQL 阶段面试中投入产出比最高的部分按取数逻辑练SQL 在数据分析岗位面试中的地位几乎是不可替代的。笔试通常直接给你几张小表要求写出查询结果。一旦关联方向搞反、聚合条件放错结果立刻出错。3.1 语法书写顺序和执行顺序不一样很多初学者按书写顺序理解 SQLSELECT 先执行然后 FROM、WHERE。实际执行顺序完全不同。SELECT department, COUNT(*) AS emp_cnt, AVG(salary) AS avg_salary FROM employee WHERE status active GROUP BY department HAVING COUNT(*) 10 ORDER BY emp_cnt DESC;执行顺序是FROM确定数据源WHERE过滤行GROUP BY分组HAVING过滤分组SELECT计算列和聚合ORDER BY排序理解这个顺序能解释很多常见错误。比如 WHERE 中不能用聚合函数因为执行到 WHERE 时还没有分组而 HAVING 能对聚合结果过滤因为它发生在分组之后。面试时把执行顺序讲清楚比背几条语法更有效。3.2 JOIN 到底用哪张表做主表多表关联是 SQL 面试里错误率最高的部分。常见场景是“查所有有订单的用户”。下面两种写法结果完全不同-- LEFT JOIN保留用户表中所有用户包括没有订单的用户 SELECT u.user_id, u.user_name, o.order_id FROM user u LEFT JOIN order o ON u.user_id o.user_id; -- INNER JOIN只保留两边都匹配的用户 SELECT u.user_id, u.user_name, o.order_id FROM user u INNER JOIN order o ON u.user_id o.user_id;面试题最常设置的陷阱是要求“所有用户”时写成了 INNER JOIN导致无订单用户被过滤掉要求“只有下单用户”时写成了 LEFT JOIN导致结果多出空订单记录。判断规则其实很简单先确认结果主体是左表还是右表。主体是“所有 A 记录”就用 LEFT JOIN主体是“A 和 B 的交集”就用 INNER JOIN。如果还需要统计每个用户的订单量COUNT 时要小心订单为空的记录被记成 0 还是被过滤。3.3 去重、区间筛选和结果排序的高频写法网络搜索词里出现“sql 语句去重查询”“sql between and 的用法总结”说明这两块是新手集中区。去重不是只有 DISTINCT不同场景选型不同。-- 场景一查看某表中有哪些用户 SELECT DISTINCT user_id FROM order; -- 场景二统计每个用户的下单次数 SELECT user_id, COUNT(DISTINCT order_id) FROM order GROUP BY user_id; -- 场景三去掉重复主键数据保留最新一条 SELECT * FROM ( SELECT order_id, user_id, amount, ROW_NUMBER() OVER(PARTITION BY user_id ORDER BY create_time DESC) AS rn FROM order ) t WHERE rn 1;BETWEEN 也经常被误用。它包含两个端点容易在计算日期时多一条记录。推荐使用半开区间写法SELECT * FROM order WHERE create_time 2024-01-01 AND create_time 2024-02-01;这种写法的好处只有一个不依赖日期字段是否包含时分秒不会因为时间粒度不一致而查不到边界数据。3.4 SQL 排错的固定检查顺序SQL 报错时不要急着改语句按下面的顺序查排查步骤检查内容常见错误1表名、字段名是否真实存在大小写不一致、别名拼写错误2括号数量是否匹配子查询缺失右括号3聚合函数是否放在正确位置WHERE 中使用 COUNT4关联条件是否写全复合主键只关联了一个字段5字段类型是否一致字符串与数字比较6执行顺序是否符合预期ORDER BY 中使用了未选择的别名出现You have an error in your SQL syntax这类报错时不要只看错误行位置要往上一两行检查。很多数据库的报错位置只是“识别出问题的地方”不一定是真正出错的地方。4. Power BI 阶段和 Excel 最大区别是建模不是画图刚开始接触 Power BI 的人最容易犯的错误是把它当成“动态 Excel”所有字段都往一个表里塞然后直接拖拽生成柱状图。短期看这样能出图但一旦指标口径发生变化图表会变得难以维护。Power BI 的真正优势在于建模。4.1 先拆事实表和维度表再来看图一个合理的数据模型至少包含两类表事实表记录业务行为比如订单表、流水表一般有金额、数量、时间、用户ID 等字段。维度表描述业务行为比如用户表、产品表、日期表提供名称、分类、层级等信息。最简单的分析模型是星型模型中心是事实表外层连接维度表。两张表通过主键关联。以订单分析为例常见关系是订单表通过 user_id 关联用户表通过 product_id 关联产品表。在 Power BI 中建模步骤是“管理关系”和“新建度量值”。先检查关系是否是一对多避免交叉筛选出现错误。再写度量值不要直接拖拽字段做聚合。4.2 DAX 入门SWITCH 和 CALCULATE 是高频考点Power BI 的 DAX 公式和 Excel 公式很相似但上下文机制更复杂。两个高频函数必须掌握。SWITCH 用于多条件判断比嵌套 IF 更容易阅读和维护。例如按订单金额给用户分层用户分层 SWITCH( TRUE(), [订单金额] 10000, 高价值, [订单金额] 5000, 中价值, 低价值 )CALCULATE 用于修改筛选上下文是 DAX 中最核心的函数。例如计算“华东区销售额”华东区销售额 CALCULATE( SUM(订单[金额]), 用户[区域] 华东 )实际使用中度量值一定要放到单独的表中维护不要写在图表里。这样同一个指标可以被多个图引用指标口径统一。4.3 构建可复用仪表板的最小流程一个可复用的 Power BI 报表不是把所有图堆在一页而是按“发现问题、查看原因、跟踪趋势”组织页面。第 1 页核心指标总览放 KPI 卡片和关键趋势图。第 2 页维度拆解按区域、产品、渠道展示明细。第 3 页明细表支持下钻到订单级数据。操作层面的建议是先放切片器时间、区域再放视觉对象最后统一格式。颜色不要超过 3 种图表的坐标轴标题要显式设置避免默认字段名直接暴露英文列名。5. Python 阶段目标不是写大型程序而是批量解决重复问题数据分析岗位对 Python 的要求通常不高但有两个场景必须能处理一是 pandas 读取和清洗数据二是批量处理文件。Python 的价值在于把 Excel 和 SQL 之间重复操作自动化。5.1 环境安装和验证避免一上来就报错Python 安装过程中最常见的坑有两个一个是忘记勾选“Add Python to PATH”导致命令行无法执行python另一个是直接使用全局环境管理项目依赖导致版本冲突。安装后先做一次最小验证python --version pip --version如果命令行提示python不是内部或外部命令大概率是 PATH 没有配置。在 Windows 上可以重新运行安装包选择“Modify”并勾选 PATH 选项。初学者不建议一开始就用非常复杂的虚拟环境方案可以先用一个项目目录通过 pip 安装必要依赖。依赖安装示例pip install pandas openpyxl pyinstallerpandas数据处理openpyxl读写 Excel 文件pyinstaller后续将脚本转成可执行文件5.2 用 pandas 读取 Excel 并完成清洗实际场景中经常需要把多个 Excel 表合并成一张汇总表。看一个典型场景读取某个目录下所有销售_*.xlsx文件合并后输出到一个汇总表。import pandas as pd from pathlib import Path data_dir Path(./data) files list(data_dir.glob(销售_*.xlsx)) frames [] for f in files: df pd.read_excel(f, sheet_nameSheet1) df[来源文件] f.name frames.append(df) result pd.concat(frames, ignore_indexTrue) result[销售日期] pd.to_datetime(result[销售日期]) result result.drop_duplicates(subset[订单号], keeplast) result.to_excel(汇总表.xlsx, indexFalse) print(f处理完成共 {len(result)} 行记录)这里每一步都有明确目的Path.glob解决文件批量匹配问题不需要手写文件清单。pd.to_datetime把日期字符串转成统一时间格式。drop_duplicates去除重复订单keep 参数选择保留最后一条。这类脚本是简历上“Python 自动化处理”最好的支撑素材不需要多复杂能说明“处理了多少文件、解决了什么问题”就有价值。5.3 Python 转 EXE 的常见问题搜索词里出现“python 转 exe 文件”这是自动化办公常见需求。将一个 Python 脚本打包成 Windows 可执行文件最常用的是 PyInstallerpyinstaller -F 处理脚本.py-F表示生成单个 exe 文件。打包完成后文件位于 dist 目录下。需要注意以下几点打包后的 exe 体积通常较大几十 MB 甚至上百 MB 都正常不要以为脚本出了问题。脚本里如果有外部依赖文件打包后需要把资源文件放在 exe 同目录并注意路径写法。被杀毒软件误报时先确认脚本来源和执行行为不要直接关闭安全软件。6. 简历与面试用项目把四类工具串成一条证据链工具学完只是第一步。简历上如果写“熟练使用 Excel、SQL、Power BI、Python”基本没有区分度。真正有效的是用项目描述证明你会用工具解决问题。6.1 项目描述按“问题-操作-结果”结构写建议把每个项目写成一段逻辑完整的话而不是罗列关键词。写法示例评价能力罗列熟练使用 SQL 和 Power BI 完成销售数据分析没有场景无法验证问题驱动针对销售原始表存在重复订单和区域字段不统一的问题使用 SQL 清洗 2.3 万条订单数据建立 Power BI 销售看板将周报制作时间从 2 小时降低到 20 分钟有输入、有操作、有结果更好的做法是每个项目写 3 行项目背景数据来自哪里业务问题是什么。个人操作抽取哪些数据、清洗哪些字段、建立什么指标。结果产出最终交付了什么报表、节省了多少时间、发现了什么问题。6.2 面试中四类工具分别怎么考Excel 笔试给一张脏表要求提取某些字段、去重、汇总。重点考察函数组合能力不是单个函数背诵。SQL 笔试通常 4 到 6 道题从单表查询到多表关联和窗口函数。重点考察关联方向、聚合口径、去重逻辑。Power BI 提问多问“你这个报表的数据模型是怎么设计的”回答时要能说清楚事实表和维度表的关系。Python 提问多为场景题比如“拿到 100 个 Excel 文件如何合并”。不需要写完整代码但步骤要清晰。6.3 学习阶段的复盘清单每个阶段结束时对照以下清单做自检[ ] 能否独立完成一次数据导入、清洗、计算、可视化的全过程[ ] 是否明确每个工具的使用边界而不是所有问题都只用同一个工具解决[ ] 是否能把项目中的关键表结构、字段名、指标口径讲清楚[ ] 是否能解释自己做过的一个异常处理或排错场景[ ] 是否已经积累了至少 2 个可写进简历的不同项目7. 常见坑位与生产环境建议7.1 四类工具场景中容易踩的坑问题现象常见原因检查方式处理建议Excel VLOOKUP 返回 #N/A查找列并非首列或精确匹配未用 0检查查找值和查找列格式改 XLOOKUP 或 INDEXMATCHSQL 结果出现重复行JOIN 后一对多导致记录变多对比关联前后行数先用 GROUP BY 或 DISTINCT 验证Power BI 度量值结果明显不对未理清行上下文和筛选上下文检查是否直接拖字段而未写度量值统一建度量值Python 读取 Excel 报错缺少 openpyxl 引擎查看报错信息是否提示安装依赖pip install openpyxl打包 EXE 后无法运行路径写死或缺少文件在命令行执行 exe 查看报错改为相对路径并使用路径判断7.2 学习环境和生产环境的差别学习阶段可以在一台个人电脑上快速跑通但工作后的数据分析任务更复杂。生产环境至少还要考虑这几件事数据库连接需要权限控制不要使用弱密码或明文账号。SQL 查询要关注性能避免全表扫描和无谓的笛卡尔积。Power BI 报表发布后需要定期刷新数据源要配置刷新凭据。Python 脚本上线到运维平台时要增加日志记录和异常捕获不要只打印到控制台。7.3 本文最重要的技术判断四类工具不是相互替代的关系而是一条完整链路上的不同节点。求职准备的核心不是掌握最多函数而是有能力把一个业务问题转换成数据问题再用合适工具解决问题。Excel 适合探索SQL 适合取数Power BI 适合展示Python 适合自动化。按这个主线学完再回到简历和面试中做项目描述效果会比盲目刷课好得多。下一步可以做的事情是用一个自己熟悉的业务数据集设计一个“Excel 探查到 SQL 取数、Power BI 报表、Python 批量刷新”的小项目把所有工具串起来再把这套流程写进求职材料里。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门