问题

FERP50数据仓库升级之后,为进行权限管理,对外只提供存储过程访问方式,若通过Excel访问,菜单获取外部数据-自其他来源-来自SQL Server中只能使用表,而不能使用存储过程。

在这里插入图片描述

分析

直接查询AI可知,数据菜单下的两个工具,是两套不同引擎,新旧并存。

  1. “获取外部数据”(旧版,Excel 2013 及更早):是传统数据连接(ODBC/OLEDB),偏 “只读导入 + 定时刷新”,功能老、转换弱,里面只能读数据表。
  2. “获取和转换数据”(新版,Power Query,Excel 2016/2019/365):是新的查询引擎,能连接、清洗、合并、参数化,再加载到表格 / 数据模型,里面可以写SQL,从而调用存储过程;

解决

获取和转换数据中依次点击新建查询-从数据库-从SQL Server数据库,则会显示下面窗口,如果不填SQL语句则会要求选择数据表,如果填写SQL语句则直接进行查询。填入如下语句调用存储过程。注意,高级选项需要手动点开。

EXEC P_BI_DataProvider_v1
    @CorpId = 1001,
    @Mobile = '1380013800',
    @Password = '123456',
    @DataId = 975, 
    @TopRows = 10

在这里插入图片描述

更多推荐