关于Excel Power Query读取Sage Sequel指定数据库的代码疑问
关于Excel Power Query读取Sage数据库的疑问解答
问题描述
我接手了一个Excel Power Query并尝试修改,其数据源为Sage Sequel数据库(含约15个实体数据库),系统通过名为SageCompanyTable的表格(B1至C9)读取选中的实体数据库。
查询初始代码如下:
Source = Sql.Database("MVXX\Sage200", SageCompanyTable, [Query="SELECT DISTINCT #(lf) SourceSystem, AccountNumber, AccountCostCentre, AccountDepartment, AccountNumber + AccountCostCentre + AccountDepartment AS FullAccCode, AccountName, Code, .........."])
该查询可正常运行,能读取SageCompanyTable中“Database”行对应的C3单元格(示例为UK_XXXXDBase)获取目标数据库。想请教:初始代码中哪部分指定读取选中的数据库?我推测是Sql.Database函数调用中关联SageCompanyTable的逻辑,是否正确?
解答
你的推测完全正确。在Power Query的Sql.Database函数里,第二个参数的作用就是指定要连接的目标数据库名称。这里传入的SageCompanyTable并非直接的数据库名,而是一个指向Excel表格的引用——它会自动读取该表格中“Database”行对应C3单元格的内容(比如示例中的UK_XXXXDBase),将其作为实际要连接的数据库名称传入函数。
这段代码的核心逻辑就是通过SageCompanyTable这个引用实现动态获取选中的数据库名称,让Power Query可以灵活切换要访问的Sage实体数据库。
内容的提问来源于stack exchange,提问作者Gary
相关产品推荐
相关产品推荐

