我希望在根据三个简单标准过滤后为[Site]分配一个行号:它们是否具有相同的[Year],[Identifier],以及[LeftOrJoined]列是&#的位置34; JOINED&#34 ;.
所以我想要下面的[Rank]专栏:
[Year] | [Identifier] | [LeftOrJoined] | [Site] | [Rank]
2012 1 LEFT A
2012 1 JOINED B 1
2012 1 JOINED C 2
2013 2 LEFT A
2013 2 JOINED B 1
2013 2 JOINED C 2
我的公式是:
Rankx(
filter(table,
allexcept(table,
[LeftOrJoined]="JOINED",[Year]=[Year],
[Identifier]=[Identifier])),
[Site], ,1,dense)
但我收到错误:ALLEXCEPT函数需要参数' 2'的表引用表达式,但是使用了字符串或数字表达式。
我觉得我犯了一个基本错误。任何帮助非常感谢!
答案 0 :(得分:1)
我不确定你的公式应该如何运作,但以下内容适用于我:
Rank = IF(Table[LeftOrJoined] <> "JOINED", BLANK(),
RANKX(FILTER(Table, Table[LeftOrJoined] = "JOINED"),
Table[Site], , 1, Dense))
如果LeftOrJoined
不是&#34;加入&#34;,则返回空白,否则,将Site
排在LeftOrJoined
等于&#34;的行上JOINED&#34;