按行值过滤列 PowerBI
Filter column by row value PowerBI
我正在尝试编写 DAX 函数以根据另一列中的条件查找一列中的最大值,但此条件会根据行值动态更改。
使用此代码:
CALCULATE(MAX(RankOfArea[count]),filter(RankOfArea,RankOfArea[Line]="Pic"))
我明白了 table:
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]))
我推荐后一种方法,以防您的 table 获得更多列。
我正在尝试编写 DAX 函数以根据另一列中的条件查找一列中的最大值,但此条件会根据行值动态更改。
使用此代码:
CALCULATE(MAX(RankOfArea[count]),filter(RankOfArea,RankOfArea[Line]="Pic"))
我明白了 table:
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]))
我推荐后一种方法,以防您的 table 获得更多列。