我实际上是在尝试创建一个新列,其中某个城市在给定程序的城市中花费了MAX美元,并且CITY值不是“BAD”。下面的数据示例
PROGRAM | CITY | DOLLARS SPENT | NEW COLUMN
1 | X | $20 | ?
1 | Z | $30 | ?
1 | Y | $40 | ?
1 | BAD | $50 | ?
2 | X | $30 | ?
2 | BAD | $50 | ?
因此,如果City =“BAD”,我希望新列在新列中返回Max Dolnt中的Max City。
理想情况下,输出看起来像这样。
PROGRAM | CITY | DOLLARS SPENT | NEW COLUMN
1 | X | $20 | X
1 | Z | $30 | Z
1 | Y | $40 | Y
1 | BAD | $50 | Y
2 | X | $30 | X
2 | BAD | $50 | X
你/老虎给出了一个很好的简单回应。仍在寻找完全在powerpivot内完成的解决方案!希望一切都有意义。谢谢!
答案 0 :(得分:0)
这是一个根据您提供的示例数据执行的公式。在单元格D2中并复制下来:
=IF(B2="BAD",INDEX($B$2:$B$7,MATCH(1,INDEX(($A$2:$A$7=A2)*($B$2:$B$7<>"BAD")*($C$2:$C$7=MAX(INDEX(($B$2:$B$7<>"BAD")*($A$2:$A$7=A2)*$C$2:$C$7,))),),0)),B2)
它会给出如下结果:
答案 1 :(得分:0)
尝试此计算列:
=IF(
YourTable[City]="BAD",
CALCULATE(
VALUES(YourTable[City]),
TOPN(
1,
FILTER(
ALL(YourTable),
YourTable[City]<>"BAD"
&& YourTable[Program]=EARLIER(YourTable[Program])
),
YourTable[Dollars Spent]
)
),
YourTable[City]
)