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

Power BI执行Snowflake存储过程报Native queries不支持如何解决

报错根因

该报错和你填写的Server、Warehouse、Database连接参数无关,核心是Power BI原生Snowflake连接器初始连接页的SQL statement输入框存在内置校验:该区域仅支持提交直接返回标准二维表结构的SELECT类查询,存储过程CALL语句的返回逻辑不符合该校验规则,哪怕切换到Import模式也会被直接拦截,提示Native queries aren't supported by this value。
DirectQuery模式本身就不支持执行Snowflake存储过程,这个是产品层面的硬限制,没有配置可以绕过。

正确操作步骤
  • 初始创建Snowflake连接时,不要在Advanced Options的SQL statement区域填任何语句,正常填写Server、Warehouse、目标Database信息,完成身份认证,先建立基础可用连接。
  • 点击顶部菜单栏「转换数据」进入Power Query编辑器,选择顶部主页选项卡的「高级编辑器」。
  • 替换自动生成的M语言脚本,通过Value.NativeQuery函数调用存储过程,参考代码如下:
let
    Source = Snowflake.Databases("你的Snowflake服务地址", "你配置的Warehouse名称"),
    DBContent = Source{[Name="存储过程所属Database名",Kind="Database"]}[Data],
    SchemaContent = DBContent{[Name="存储过程所属Schema名",Kind="Schema"]}[Data],
    RunStoredProc = Value.NativeQuery(SchemaContent, "call myStoredProcedureName();", null, [EnableFolding = true])
in
    RunStoredProc
  • 点击「完成」保存脚本,首次触发执行时会弹出原生查询权限确认框,勾选允许执行后等待运行完成,即可将存储过程返回的结果加载到Power BI模型中。
补充说明
  • 仅Import模式支持该操作,DirectQuery模式无任何配置可支持存储过程调用。
  • 若存储过程返回多段结果,Power BI仅会识别第一段符合二维表结构的标准结果,需提前调整存储过程逻辑,确保最终返回单张结构固定的结果集。
  • 若执行时提示权限错误,检查连接使用的Snowflake账号是否拥有目标存储过程的EXECUTE权限,以及对应Database、Schema的访问权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 11:27:22