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

如何在Power BI中使用DAX关联两表并获取Month ID

解决Power BI中Data表匹配Period表Month ID的问题

方法一:用Power Query合并查询(最稳妥)

  • 打开Power Query编辑器,确保Period和Data两张表都已加载
  • 选中Data表,点击顶部菜单栏的合并查询,在弹出窗口中:
    • 右侧选择Period表
    • 两张表的匹配列都选Days
    • 连接类型选左外部(从第一个表中获取所有行,从第二个表中匹配的行)
  • 点击确定后,Data表会新增一列包含Period表的匹配数据,点击列名旁的展开按钮,只勾选Month ID字段,确定即可
  • 关闭并应用Power Query,Data表就会带上对应的Month ID

方法二:用DAX添加计算列

如果已经在数据模型中给两张表的Days字段建立了关系(一对多,Period是一端,Data是多端),直接在Data表新建计算列:

Month ID = RELATED(Period[Month ID])

如果没建立关系,或者Period的Days有重复值,用LOOKUPVALUE或MAXX+FILTER:

// 当Period中Days唯一时用这个
Month ID = LOOKUPVALUE(Period[Month ID], Period[Days], Data[Days])

// 当Period中Days有重复,取第一个匹配的Month ID时用这个
Month ID = MAXX(FILTER(Period, Period[Days] = Data[Days]), Period[Month ID])

为什么你之前的方法失败?

  • CROSSJOIN是生成两张表的所有笛卡尔组合,会把每个Data的Days和Period的所有Month ID配对,完全不符合需求
  • LOOKUP函数如果用法不对,比如没指定正确的匹配条件,或者遇到重复值就会出错,不如上面两种方法直接可靠

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 01:05:26