SQL to Business Logic Translator 是一个把 SQL 查询翻译为通俗业务逻辑的技能,面向需要理解、记录或审查 SQL 的分析与业务场景。
用途
当相关方询问「这个查询具体计算了什么」,或需要为查询库、dbt 模型编写面向非技术读者的文档时,可使用该技能。它也适用于通过将查询逻辑与业务需求对比来审查查询正确性、帮助新分析师熟悉既有 SQL 模式,以及在对遗留且无文档的查询进行重构前先完成翻译。
主要能力与流程
- 接收查询与上下文:获取 SQL 及其回答的业务问题,并收集表结构说明(关键表和列在业务上的含义)。
- 翻译 FROM/JOIN 结构:用通俗语言描述组合了哪些数据源、使用了何种连接类型(inner 只保留匹配行,left 保留左表全部行),并留意连接类型是否与既定用途不一致。
- 翻译 WHERE 过滤条件:把每个过滤条件列为一条业务规则,例如 status = 'completed' 可表述为「仅包含已付款并已履约的订单」。
- 解释 GROUP BY 与聚合:说明每个聚合计算了什么、处于什么粒度;可使用 scripts/sql_explainer.py 自动完成第一轮结构化解析。
- 总结输出列:说明每个输出列的业务含义及边界情况(空值、四舍五入、货币单位)。
- 标记问题并编写验证问题:识别潜在问题(隐式空值传播、意外的行数膨胀、硬编码日期),生成 3–5 个应向查询作者确认的问题;可使用 assets/query_documentation_template.md 记录完整翻译结果。
所需输入
完整的 SQL 查询(从 SELECT 到 ORDER BY)、该查询意图回答的业务问题、表和列的说明(或数据目录条目)、关键状态值/日期处理/货币相关的业务规则,以及预期输出:由谁阅读结果、用于何种决策。
输出
scripts/sql_explainer.py 解析 SQL 查询并生成结构化的通俗语言说明;assets/query_documentation_template.md 为填写完整的翻译文档,覆盖目的、逐步逻辑、输出列、业务规则与验证问题;另外可选地提供查询逻辑的流程图表示。
适用场景
适合数据分析文档化、面向非技术相关方的分析解释、查询代码审查、新分析师入职培训,以及重构前的遗留查询翻译。
限制
该技能需要完整 SQL、业务问题、表列说明和业务规则等输入;若缺失这些信息,翻译的准确性将受影响。资料未说明其支持的具体 SQL 方言、是否依赖特定数据库或 dbt 版本、收费或价格信息,这些内容暂未提供。