Olá, Éder! Entendo seu desafio, e acredito que posso lhe dar uma direção.
CargoAtual =
MAXX(
FILTER(
TabelaEmpregados,
[Data_Cargo] =
MAXX(
FILTER(
TabelaEmpregados,
[ID] = EARLIER(TabelaEmpregados[ID])
),
[Data_Cargo]
)
),
[Cargo]
)
Vou explicar cada parte do código em detalhes:
MAXX: Esta é uma função que retorna o valor máximo de uma expressão calculada em um contexto especificado. Neste caso, a função MAXX será usada para encontrar o valor máximo da expressão que é definida dentro dela.
FILTER: A função FILTER é usada para filtrar uma tabela com base em uma condição especificada. Neste caso, ela é usada duas vezes.
A primeira ocorrência de FILTER está filtrando a tabela TabelaEmpregados com a condição [Data_Cargo] = MAXX(...). Isso significa que ele está filtrando os registros na tabela TabelaEmpregados onde a data do cargo é igual ao resultado da expressão dentro do MAXX.
A segunda ocorrência de FILTER está dentro do primeiro FILTER. Ele está filtrando a tabela TabelaEmpregados novamente, mas desta vez com a condição [ID] = EARLIER(TabelaEmpregados[ID]). Aqui, EARLIER é uma função que permite fazer referência ao valor anterior do contexto. Portanto, estamos filtrando os registros onde o ID é igual ao ID do registro atual.
[Data_Cargo]: Este é um campo na tabela TabelaEmpregados que representa a data em que um empregado assumiu um cargo.
[Cargo]: Este é um campo na tabela TabelaEmpregados que representa o cargo de um empregado.
Em resumo, o código está calculando o cargo atual de cada empregado da tabela TabelaEmpregados da seguinte maneira:
- Ele filtra os registros da tabela para cada empregado, considerando apenas os registros com o mesmo ID do empregado atual.
- Em seguida, ele encontra a data mais recente em que o empregado assumiu um cargo usando
MAXX. - Finalmente, ele retorna o valor do campo
[Cargo] para o registro com a data mais recente, que é essencialmente o cargo atual do empregado.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!