如何通过Excel单元格修改ODBC连接Power Query的SQL Where子句
用Excel单元格内容动态修改Power Query的SQL查询条件
完全可行,具体操作步骤如下:
第一步:加载目标单元格内容到Power Query
选中Sheet1!A1单元格,点击「数据」选项卡→「自表格/区域」,把这个单元格的数据加载到Power Query编辑器,将该查询重命名为CellValue(方便后续引用)。第二步:修改ODBC查询代码
将原有的查询代码替换为以下拼接字符串的形式,把A1的内容动态插入到SQL的Where子句中:let // 获取Sheet1!A1的内容 TargetValue = CellValue{0}[Column1], // 转义单引号,避免SQL语法错误(如果单元格内容含单引号的话) EscapedValue = Text.Replace(TargetValue, "'", "''"), // 拼接完整的SQL语句 FinalSQL = "Select * from SALES Where Asset = '" & EscapedValue & "'", // 执行ODBC查询 QueryResult = Odbc.Query("server=xxxx", FinalSQL) in QueryResult第三步:设置刷新触发
返回Excel界面,右键查询生成的表格→「刷新」,若需要自动同步修改,可在「连接属性」中勾选「打开文件时刷新数据」,或设置定时刷新,这样修改Sheet1!A1的内容后,刷新即可得到对应条件的查询结果。
内容的提问来源于stack exchange,提问作者Starbucks
相关产品推荐
相关产品推荐

