DAX实操:无需新建计算表,如何在Table A新增列获取Table B同ID最小值
实现方案
你不需要额外创建中间计算表,直接在Table A中新建计算列即可,根据你是否已经建立表间关系有两种写法:
场景1:已为Table A和Table B建立ID列的一对多关系
直接使用以下DAX公式即可:
min_value = CALCULATE(MIN('Table B'[value]))
此时Table A当前行的行上下文会自动转换为筛选上下文,匹配Table B中对应ID的所有行并计算最小值。
场景2:未建立表间关系
推荐用变量的写法,可读性更高,不容易出错:
min_value = VAR current_id = 'Table A'[ID] RETURN CALCULATE( MIN('Table B'[value]), 'Table B'[ID] = current_id )
如果习惯用EARLIER函数,也可以写为:
min_value = CALCULATE(MIN('Table B'[value]), FILTER(ALL('Table B'), 'Table B'[ID] = EARLIER('Table A'[ID])))
内容的提问来源于stack exchange,提问作者Arlaf
相关产品推荐
相关产品推荐

