SQLMesh 宏实现循环完全指南:@EACH、Python 宏与 SQLGlot 表达式实战在数据工程中,"把同样的逻辑对 30 个列各写一遍"是重复代码的重灾区。SQLMesh 提供了多种在 SQL 模型中实现"循环"的手段:内置的 @EACH 宏操作符、Python @macro() 函数中的原生 for 循环,以及 Jinja 模板的 {% for %} 语法。本文重点讲解前两者——SQLMesh 原生宏与 Python 宏,并深入介绍如何用 SQLGlot 表达式以"语义感知"的方式安全地拼接 SQL;Jinja 宏仅作简要提及。全文配有 8 个可落地的实战案例(PIVOT 指示列、Sc