如何在PowerQuery中优雅引用Excel多行存储的长SQL查询?
在PowerQuery中优雅拼接多行SQL语句的方法
- 先选中Excel里存储SQL语句的A1:A50区域,通过「数据」选项卡的「从表格/范围」导入PowerQuery(取消勾选「我的表格有标题」,因为每行都是独立SQL语句,无需表头)
- 导入后会得到只有一列的表(默认列名
Column1),在「添加列」选项卡点击「自定义列」,输入以下M代码:
注:如果导入后的表自动命名不是「表1」,替换成实际的表名即可。= Text.Combine(Table.Column(#"表1", "Column1"), "#(lf)")Table.Column提取整列数据为列表,Text.Combine用换行符#(lf)拼接列表内容,完美保留原分行格式。 - 新增的自定义列中就是完整的SQL语句,后续修改Excel中A1:A50的任意行内容,刷新PowerQuery即可自动更新拼接结果,操作高效。
优化扩展
- 若需要跳过空行,修改代码过滤空值:
= Text.Combine(List.RemoveNulls(Table.Column(#"表1", "Column1")), "#(lf)") - 如需在每行末尾添加空格或分号,调整拼接分隔符即可,比如
"#(lf) "或"#(lf);"
内容的提问来源于stack exchange,提问作者Jake Hawkins
相关产品推荐
相关产品推荐

