PowerBI中如何根据另一表列值自动筛选目标表列
PowerBI动态筛选列实现方案
需求说明
现有两个表:
- Table2:仅含一列
cols,存储需要保留的列名(如Name、Zip、Phone) - Table1:共50列,包含Table2中列出的所有列
需实现:仅保留Table1中列名与Table2cols值匹配的列,且当Table2新增/删除列名时,结果表自动同步调整。
实现步骤(Power Query,推荐)
- 打开Power Query编辑器,确保Table1和Table2已加载到查询中
- 处理Table2,生成待保留列的列表:
- 选中Table2查询,添加自定义列:
= Table.AddColumn(Table2, "列名列表", each [cols]) - 选中新生成的「列名列表」列,点击「转换」选项卡→「提取值」,分隔符选择「无」
- 右键提取后的列,选择「转换为列表」,将这个列表重命名为
保留列列表
- 选中Table2查询,添加自定义列:
- 处理Table1,筛选指定列:
- 回到Table1的查询,点击「开始」选项卡→「选择列」→「选择列依据条件」
- 在弹窗中,设置条件为「列名」→「在列表中」,然后选择刚才创建的
保留列列表,点击确定
- 关闭并应用Power Query,完成配置
效果验证
- 初始状态下,结果表仅显示Table2中列出的Name、Zip、Phone列
- 当Table2新增
Latitude后,刷新PowerBI数据,结果表会自动新增Latitude列;删除列名时同理自动移除对应列
内容的提问来源于stack exchange,提问作者Robert Sebas
相关产品推荐
相关产品推荐

