EP013 打破界限——从界面操作迈向 M 函数代码

🔄 课程回顾与定位:Excel vs. Power BI

在前面的12节课中,我们已经掌握了 Power Query 的基础界面操作(UI)。在进入进阶课程之前,我们需要理清 Excel 和 Power BI 在数据处理上的关系:

Excel 的演变

  • 曾经的三大组件:Power Query (数据清洗)、Power Pivot (建模)、Power View (可视化)。
  • 现状
    • PQ & PP:已内嵌为 Excel 原生功能。
    • Power View:在 Excel 中已被弃用,取而代之的是 Excel 自带的图表功能。

为什么还要学 Power BI?

  • 财务/BP 角色:对于日常非大数据级别的分析,Excel (PQ + PP) + 透视表 完全够用。
  • 专业分析师:Power BI 保留了完整的三大组件(特别是强大的可视化),适合处理海量数据和专业报表。

💡 核心价值学习 Power Query 是通用的。无论你留在 Excel 还是转向 Power BI,底层的数据清洗逻辑(M语言)是一模一样的。


🚀 为什么要深入学习 M 函数?

界面操作虽然方便,但有其局限性。学习 M 函数(Power Query 的幕后语言)是为了突破这些限制。

1. 突破数据量限制

  • Excel 画布限制:最大 104万行 (220220),1.6万列
  • Power Query 数据模型几乎无限制。只要你的电脑 CPU 和内存足够强,PQ 可以处理几百万甚至上千万行的数据。你不需要把数据加载回 Excel 表格,而是加载到后台的“数据模型”中。

2. 实现界面无法完成的逻辑

界面按钮能覆盖 80% 的常见需求,但剩下的 20% 高级定制需求(如复杂的条件判断、自定义函数、循环逻辑),必须通过编写或修改 M 函数来实现。


🧱 M 函数的核心世界观:三大容器

学习 M 语言,首先要认识它的三个基本构成单位(容器)。理解了它们,你就看懂了代码的骨架。

1. List (列表) 📝

  • 概念:相当于 Excel 中的 “列”
  • 代码特征:使用 大括号 { } 包裹。
    • 例如:{ “A”, “B”, “C” }

2. Record (记录) 🎫

  • 概念:相当于 Excel 中的 “行”
  • 代码特征:使用 方括号 [ ] 包裹。
    • 例如:[ ID=1, Name=”张三” ]
    • 代码示例:if [索引] = 1 then … (这里引用的是当前行的索引列)。

3. Table (表) 📊

  • 概念:相当于 Excel 中的 “表”
  • 构成:由 List (列) 和 Record (行) 共同组成。
  • 注意:我们通常通过“新建源”自动生成 Table,较少手动从零编写 Table 函数。

🗺️ M 函数的高效学习路径

我们将学习过程分为四个阶段,目前我们正处于从第一阶段向第二、三阶段跨越的关键点。

✅ 第一阶段:忘掉代码,拥抱界面(已完成)

  • 重点:培养直觉。
  • 操作:熟悉删除列、填充、拆分、逆透视等 UI 按钮。
  • 状态:对背后的 M 语言“无感”。

🚧 第二阶段:看懂公式,理解名词(进行中)

  • 重点:养成看 “公式栏” 的习惯。
  • 任务
    • 理解每一步界面操作背后生成了什么函数。
    • 例如:Table.TransformColumnTypes 对应的是“更改列类型”。
    • 识别代码中的 List、Record 和 Table。

🛠️ 第三阶段:从修改到创造(自定义列)

  • 最佳练习场“添加列” -> “自定义列”
  • 任务
    • 不要只依赖现成按钮,开始在“自定义列”窗口中编写简短的 M 公式。
    • 利用智能提示(Intellisense)辅助编写。
  • 目标:当你能熟练通过“自定义列”解决问题时,你就能创造出界面上不存在的高级功能。

🏆 第四阶段:代码大师(高级编辑器)

  • 任务:直接使用高级编辑器编写复杂的自定义函数和查询逻辑。

📝 下节预告
我们将正式进入 M 函数的实战讲解,通过对比“界面操作步骤”与“对应函数代码”,带大家彻底看懂 Power Query 在后台到底干了什么。准备好拥抱代码了吗?

© 版权声明
THE END
喜欢就支持一下吧
点赞757 分享
老汪洞察的头像-小微之家 | 汪斌带你开公司 | 老汪洞察
相关推荐
评论 抢沙发

请登录后发表评论

    暂无评论内容