具有多个过滤器的 Powerpivot Rankx

Powerpivot Rankx with multiple filters

我想在根据三个简单条件过滤后为 [Site] 分配一个行号:它们是否具有相同的 [Year]、[Identifier],以及 [LeftOrJoined] 列的位置 "JOINED".

所以我想要下面的 [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”的 table 引用表达式,但使用的是字符串或数字表达式。

我觉得我犯了一个基本错误。非常感谢任何帮助!

我不确定你的公式应该如何工作,但以下公式对我有用:

Rank = IF(Table[LeftOrJoined] <> "JOINED", BLANK(),
          RANKX(FILTER(Table, Table[LeftOrJoined] = "JOINED"),
                Table[Site], , 1, Dense))

如果LeftOrJoined不是"JOINED",则return为空,否则,将Site排在LeftOrJoined等于[的行上=18=].