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

如何编写DAX度量值返回各车型销量最高的颜色?

问题描述

现有Sales表,包含Vehicle(车型)、Color(颜色)、Sold(销量)三个字段,数据如下:

VehicleColorSold
CarBlue5
CarRed8
TruckSilver10
TruckOrange4

我已经创建了一张包含Vehicle列的表,需要编写DAX度量值,实现如下结果:

VehicleMost Sold
CarRed
TruckSilver

之前尝试用LOOKUPVALUE函数,但没法像下面这样结合MAX表达式实现需求:

Most Sold = 

RETURN LOOKUPVALUE(Sales[Color], Sales[Sold], MAX(Sales[Sold])
最优实现方法

方案1:CALCULATE + VALUES(推荐)

这个方案能自动适配当前车型的上下文,就算同一车型有多个颜色销量相同,也会返回所有符合条件的颜色,通用性更强:

Most Sold = 
VAR MaxSold = MAX(Sales[Sold])
RETURN
CALCULATE(
    VALUES(Sales[Color]),
    Sales[Sold] = MaxSold
)

方案2:修正LOOKUPVALUE用法

如果能保证同一车型里最高销量的颜色唯一,可以用这个方案,需要先锁定当前车型的上下文,再取对应最大销量的颜色:

Most Sold = 
VAR CurrentVehicle = SELECTEDVALUE('你的表名'[Vehicle]) -- 替换成你已创建的表的Vehicle列名
VAR MaxSold = CALCULATE(MAX(Sales[Sold]), Sales[Vehicle] = CurrentVehicle)
RETURN
LOOKUPVALUE(Sales[Color], Sales[Vehicle], CurrentVehicle, Sales[Sold], MaxSold)

原代码问题说明

你之前的代码没限定MAX(Sales[Sold])的上下文,它会返回整个Sales表的最大销量(也就是10),而不是当前车型分组内的最大值。同时LOOKUPVALUE没指定车型匹配条件,自然没法正确对应到每个车型的最高销量颜色。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 22:35:05