Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida

Olá, boa tarde, gostaria de uma orientação para o seguinte problema:

Desenvolvi um código no power pivot, com a finalidade de que me retorne o mês com o menor valor de uma coluna numa tabela.

Mês - Maior Valor Vendido:=CALCULATE(MIN(Dcalendario[Mês]);

TOPN(

1;

ALL(Dcalendario[Mês]);[Valor Total de Produtos Vendidos]))

Assima está o codigo, o problema é que ele está me retornando o mês com maior valor da minha base, ou seja, um inverso do que pretendo. Já usei o ASC, para inverter o resultado, mas também não funcionou.

Teria como me dar uma orientação, sobre como proceder, pf ?

2 respostas
solução!

Oii, Paulo! Tudo bem?

Mesmo com o uso do ASC, o retorno não foi o esperado e isso pode ocorrer por conta do contexto do cálculo ou da forma como o MIN e o TOPN estão interagindo. Como sugestão, faça o teste invertendo a lógica de ordenação da seguinte maneira:

Mês - Menor Valor Vendido :=
CALCULATE(
    FIRSTNONBLANK(Dcalendario[Mês], 1),
    TOPN(
        1,
        ALL(Dcalendario[Mês]),
        [Valor Total de Produtos Vendidos],
        ASC
    )
)

Traduzindo: o código define uma medida chamada Mês - Menor Valor Vendido com o objetivo de identificar o primeiro mês do calendário que teve o menor valor total de produtos vendidos (ou seja, o mês com a menor soma de vendas no período analisado). O TOPN usa o ASC para ordenar os valores de forma ascendente, o que deve ajudar a pegar o menor valor. E o FIRSTNONBLANK, retorna o primeiro mês que não está em branco após a ordenação.

Faça o teste e observe se funciona como esperado.

Espero ter ajudado, bons estudos, Paulo!

Olá Nathalia, Obrigado pela resposta, porém infelizmente não funcionou. Usando a sua fórmula o resultado aparece me branco, como se não tivesse nenhum mês com a informação requerida.

Criei esta outra formula que funcionou, a única diferença que fiz aqui, é que a coluna de data que estou usando, é da tabela fato de onde os dados são provenientes, e não a data da Dcalendário. É meio esquisito, porque eu criei a conexão entre as duas tabelas e ela está funcionando tranquilamente, porém para fazer este cálculo , não está acontecendo a conexão entre as duas datas.

De toda forma, obrigado pelo seu feedback.

UPPER(FORMAT(CALCULATE(MIN(tVendasProdutos[Data de Emissão]); TOPN( 1; ALL(tVendasProdutos[Data de Emissão]);[Menor Valor Vendido];ASC));"MMM"))