Retornar o valor máximo ordenado por outra coluna
Suponha que eu tenha uma tabela da seguinte maneira:
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 }
}
)
Quero uma medida que retorne a parte superiorGroup
com base no seuValue
que funcionam dentro ou fora de umYear
contexto de filtro. Ou seja, ele pode ser usado em uma matriz visual como esta (incluindo a linha Total):
Não é difícil encontrar o valor máximo usando DAX:
MaxValue = MAX(TableA[Value])
o
MaxValue = MAXX(TableA, TableA[Value])
Mas qual é a melhor maneira de procurar oGroup
que corresponde a esse valor?
Eu tentei isso:
Top Group = LOOKUPVALUE(TableA[Group],
TableA[Year], MAX(TableA[Year]),
TableA[Value], MAX(TableA[Value]))
No entanto, isso não funciona para a linha Total e prefiro não usar oYear
na medida, se possível (é provável que outras colunas se preocupem em um cenário real
Nota Estou fornecendo algumas soluções nas respostas abaixo, mas adoraria ver outras abordagens também.
Ideally, seria bom se houvesse um argumento extra noMAXX
função que especificaria qual coluna retornar depois de encontrar o máximo, bem como o MAXIFS função do Excel possu