我正在尝试编写DAX函数以根据另一列中的条件在一列中找到最大值,但是要根据行值动态更改此条件。
使用此代码:
CALCULATE(MAX(RankOfArea[count]),filter(RankOfArea,RankOfArea[Line]="Pic"))
我得到这张桌子:
count | Line | Max
7220 | Pic | 7220
283 | Dis | 7220
3557 | Pic | 7220
317 | Met | 7220
500 | Met | 7220
我想要这个结果:
count | Line | Max
7220 | Pic | 7220
283 | Dis | 283
3557 | Pic | 7220
317 | Met | 500
500 | Met | 500
当然,我必须删除=“ Pic”,但不确定用什么替换它?非常感谢
有两种方法可以对计算所得的列执行此操作。
一种方法是删除所有行上下文并明确定义条件:
Max = CALCULATE(MAX(RankOfArea[Count]),
ALL(RankOfArea),
RankOfArea[Line] = EARLIER(RankOfArea[Line]))
(该EARLIER
功能引用了较早的行上下文。)
另一种方法是仅删除[Count]
行上下文:
Max = CALCULATE(MAX(RankOfArea[Count]), ALL(RankOfArea[Count])
在这种情况下,由于只有两列,所以等效于除去[Line]
值以外的所有行上下文:
Max = CALCULATE(MAX(RankOfArea[Count]), ALLEXCEPT(RankOfArea, RankOfArea[Line]))
如果您的表获取更多列,我建议使用后一种方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句