скорее, чем

оложим, у меня есть следующая таблица:

TableA =
DATATABLE (
    "Year", INTEGER,
    "Group", STRING,
    "Value", DOUBLE,
    {
        { 2015, "A", 2 },
        { 2015, "B", 8 },
        { 2016, "A", 9 },
        { 2016, "B", 3 },
        { 2016, "C", 7 },
        { 2017, "B", 5 },
        { 2018, "B", 6 },
        { 2018, "D", 7 }
    }
)

Я хочу меру, которая возвращает вершинуGroup основываясь на егоValue которые работают внутри или снаружиYear контекст фильтра. То есть его можно использовать в матричном визуале, например, так (включая строку Всего):

Нетрудно найти максимальное значение, используя DAX:

MaxValue = MAX(TableA[Value])

или же

MaxValue = MAXX(TableA, TableA[Value])

Но как лучше всего искатьGroup что соответствует этому значению?

Я пробовал это:

Top Group = LOOKUPVALUE(TableA[Group],
                TableA[Year], MAX(TableA[Year]),
                TableA[Value], MAX(TableA[Value]))

Тем не менее, это не работает для строки Total, и я бы предпочел не использоватьYear в меру, если это возможно (вероятно, есть другие столбцы, о которых нужно беспокоиться в реальном сценарии).

Примечание: Я даю пару решений в ответах ниже, но я бы хотел увидеть и другие подходы.

В идеале было бы неплохо, если бы вMAXX функция, которая будет указывать, какой столбец возвращать после нахождения максимума, очень похоже наMAXIFS Функция Excel имеет.

Ответы на вопрос(1)

Ваш ответ на вопрос