You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调用Excel Power Query中的仅连接(Connection Only)查询并筛选结果

你之前的写法错误有两点:一是仅定义了文本格式的SQL字符串,没有调用执行逻辑,自然只会返回文本本身;二是SQL语句是发送到SQL服务器执行的,服务器无法识别你本地Power Query里定义的qGetData查询名,无法直接把它作为SQL的查询表源。

有两种常用的实现方案:

方案1:用Power Query原生表操作(最简便)

qGetData已经将符合PartID条件的数据集加载到Power Query环境中,直接用原生M函数做筛选、选列即可,无需额外写SQL:

let
    Source = qGetData,
    // 筛选Color为Red的行
    FilteredRows = Table.SelectRows(Source, each [Color] = "Red"),
    // 仅保留Part列
    KeepOnlyPart = Table.SelectColumns(FilteredRows, {"Part"})
in
    KeepOnlyPart

方案2:修改原查询的SQL语句(适合大数据量场景,筛选逻辑下推到数据库执行)

如果数据量较大,不想把全量PartID匹配的结果拉到本地再筛选,可以直接修改原qGetData的查询语句,把Color筛选条件直接加在SQL中:

let
    Source       = Excel.CurrentWorkbook(){[Name="getValues"]}[Content],
    PartID       = Source{0}[Column1],
    // 直接在原生SQL中新增Color筛选条件
    Query        = "SELECT Part FROM myParts WHERE PartID = '"& PartID &"' AND Color = 'Red'",
    Target       = Sql.Database("myServer", "myDatabase", [Query=Query])
in
    Target

内容的提问来源于stack exchange,提问作者Jeff Brady

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 13:06:00