Powerpivot Rankx с несколькими фильтрами

Я хочу назначить номер строки для [Сайт] после его фильтрации на основе трех простых критериев: имеют ли они одинаковые [Год], [Идентификатор] и где столбец [LeftOrJoined] - «СОЕДИНЕН».

Поэтому мне нужен столбец [Ранг] ниже:

[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», но было использовано строковое или числовое выражение.

Я чувствую, что делаю основную ошибку. Любая помощь очень ценится!


person Gabriel H    schedule 09.02.2018    source источник


Ответы (1)


Я не совсем уверен, как должна работать ваша формула, но у меня работает следующее:

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

Если LeftOrJoined не «СОЕДИНЕН», вернуть пустое значение, в противном случае ранжируйте Site в строках, где LeftOrJoined равно «СОЕДИНИЛСЯ».

person Alexis Olson    schedule 09.02.2018