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

如何基于事实表定义按ID分组取Name最大值的新表(DAX)

DAX实现按ID分组取Name最大值

事实表(假设表名为SomeTable)

IDName
1Apples
1Apple
1Aples
2Oranges

目标结果表

IDName
1Apples
2Oranges

DAX实现代码

使用SUMMARIZECOLUMNS函数可直接实现按ID分组并取Name最大值的需求,代码如下:

NewTable = 
SUMMARIZECOLUMNS (
    SomeTable[ID],
    "Name", MAX ( SomeTable[Name] )
)

代码说明

  • SUMMARIZECOLUMNS的第一个参数指定分组依据列SomeTable[ID],实现按ID分组;
  • 第二个参数定义聚合列:通过MAX(SomeTable[Name])计算每个ID分组下Name字段的最大值,并将结果列命名为"Name"。

补充实现(使用SUMMARIZE函数)

若习惯使用SUMMARIZE,也可达到同样效果:

NewTable = 
SUMMARIZE (
    SomeTable,
    SomeTable[ID],
    "Name", MAX ( SomeTable[Name] )
)

与SQL的对应关系

你提供的SQL语句:

select ID, max(Name) as Name from SomeTable group by ID

DAX中的分组逻辑与SQL完全对应:GROUP BY ID对应DAX的分组列SomeTable[ID],MAX(Name)对应DAX的MAX(SomeTable[Name])。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 05:34:51