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

如何在Power BI中基于另一表条件计算指定表的金额总和

Power BI:计算符合条件的Table A金额总和

需求概述

需要计算Table A中amount字段的总和,满足以下条件:

  • dateCreated日期在2022-10-10至2022-10-31之间
  • 该记录的phone手机号存在于Table B中,且Table B中对应手机号的is_mobile字段值为0

参考的MySQL查询语句(原示例为计数,实际需改为求和)

Select count(phone) from tableA where date(dateCreated)>='2022-10-10' and date(dateCreated)<='2022-10-31' and phone IN(Select phone from tableB where is_mobile=0)

实现方案(DAX公式)

这里提供两种常用的DAX写法,可根据你的数据模型选择:

方法1:无表关系时使用CALCULATE + CALCULATETABLE

符合条件的金额总和 = 
CALCULATE(
    SUM(TableA[amount]),
    TableA[dateCreated] >= DATE(2022, 10, 10),
    TableA[dateCreated] <= DATE(2022, 10, 31),
    TableA[phone] IN CALCULATETABLE(VALUES(TableB[phone]), TableB[is_mobile] = 0)
)

方法2:已建立表关系时简化写法

如果Table A和Table B已经通过phone字段建立了一对一/一对多关系,可以用更简洁的公式:

符合条件的金额总和 = 
CALCULATE(
    SUM(TableA[amount]),
    TableA[dateCreated] >= DATE(2022, 10, 10),
    TableA[dateCreated] <= DATE(2022, 10, 31),
    RELATED(TableB[is_mobile]) = 0
)

关键提示

  • 确保两个表的phone字段数据类型完全一致(比如都是文本类型),否则会出现匹配失败的情况
  • 如果Table B中有重复的phone记录,使用VALUES(TableB[phone])可以自动去重,避免重复筛选

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 02:17:19