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

PowerBI中合并同结构年度表并提取指定州数据的实现方法

在Power Query Editor中合并多表并提取指定州数据的方法

步骤1:获取所有目标表的列表

新建空白查询,输入以下M代码,提取工作簿中所有以CGTMSE_开头的表:

let
    Source = #sections[Section1],
    ConvertToTable = Record.ToTable(Source),
    FilterTables = Table.SelectRows(ConvertToTable, each Text.StartsWith([Name], "CGTMSE_")),
    RenameColumns = Table.RenameColumns(FilterTables,{{"Name", "TableName"}, {"Value", "TableData"}})
in
    RenameColumns

这段代码会生成一个包含两列的表:TableName(表的名称)和TableData(对应表的原始数据)。

步骤2:批量处理每个表

选中TableData列,点击列标题旁的箭头,选择「转换 > 自定义列」,输入以下代码处理每个表:

let
    // 从表名提取财年信息
    ExtractYear = Text.AfterDelimiter([TableName], "_"),
    // 加载当前表数据
    LoadTable = [TableData],
    // 添加财年列
    AddYearColumn = Table.AddColumn(LoadTable, "Year", each ExtractYear),
    // 筛选指定州(替换为你需要的州名)
    FilterState = Table.SelectRows(AddYearColumn, each [State] = "ARUNACHAL PRADESH"),
    // 保留需要的列
    KeepRequiredColumns = Table.SelectColumns(FilterState, {"Year", "State", "Number of Cases", "Credit Amount", "Claims Settled"})
in
    KeepRequiredColumns

将自定义列命名为ProcessedTable,确认后每个表都会被添加财年列、筛选指定州并保留目标字段。

步骤3:合并所有处理后的表

选中ProcessedTable列,点击列标题旁的箭头,选择「扩展到新行」,再展开所有列(去掉自动生成的前缀),即可得到最终的合并表。

注意事项

  • 若表不在默认的Section1中,需将代码里的#sections[Section1]替换为对应section名称
  • 筛选州时,确保州名的拼写、大小写与表内数据完全一致
  • 后续新增CGTMSE_开头的表,刷新查询即可自动纳入合并范围

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 00:22:34