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

在Tabular Model中用Power Query合并不同SQL数据源的同结构表

跨SQL Server数据源追加结构一致的表(Power Query实现)

完全可以通过Power Query的高级编辑器/M语言实现跨数据源的表追加操作,具体步骤如下:

1. 确认数据源连接

确保已在Power Query中分别建立与Company1DB和Company2DB这两个SQL Server数据库的有效连接,且能正常访问两张FactData表。

2. 使用M语言合并表

打开Power Query高级编辑器,替换原有代码为以下内容(根据实际环境调整服务器地址、Schema名称):

let
    // 加载第一个数据库的FactData表
    Source1 = Sql.Database("你的SQL服务器地址", "Company1DB"),
    FactData1 = Source1{[Schema="dbo", Item="FactData"]}[Data],
    
    // 加载第二个数据库的FactData表
    Source2 = Sql.Database("你的SQL服务器地址", "Company2DB"),
    FactData2 = Source2{[Schema="dbo", Item="FactData"]}[Data],
    
    // 直接追加两张结构一致的表
    CombinedTable = Table.Combine({FactData1, FactData2})
in
    CombinedTable

提示:若两个数据库不在同一服务器上,分别修改Sql.Database的第一个参数为对应服务器地址;Schema若不是dbo,同步调整Schema字段值即可。

3. 后续数据转换(如新增唯一ID)

如果需要处理合并后的重复值、添加唯一外键,可在CombinedTable步骤后追加转换逻辑,例如添加自增唯一ID:

// 新增自增唯一ID列
AddUniqueID = Table.AddIndexColumn(CombinedTable, "UniqueID", 1, 1)

最后将代码末尾in后的CombinedTable替换为AddUniqueID即可。

示例验证

源数据1(Company1DB\FactData)

CompanyNamePersonSales
APeter100
ASue200

源数据2(Company2DB\FactData)

CompanyNamePersonSales
BPeter300
BSue400

合并后结果(含可选唯一ID)

CompanyNamePersonSalesUniqueID
APeter1001
ASue2002
BPeter3003
BSue4004

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 14:32:16