Ir para conteúdo
  • 0

% em relação a meta mensal


rodrigo_altissimo
Ir para solução Solucionado por Joao Raulino ,

Pergunta

  • Alunos

Pessoal, blz
Estou tendo dificuldades para associar uma meta mensal com relação a média de produtividade de colaboradores em uma equipe.
Tenho uma medida chamada MediaDia (que é a soma de pontos de produtividade dividido pelo número de dias trabalhados) e que quero dividir esse valor pela meta mês que está na tabela fMetas. Há relacionamento de datas entre a dCalendario e a fMetas.

image.png.09e44d170fe204feb6a3cf4e9d555b7f.png

Estou usando essa DAX, mas que está trazendo um valor incorreto em % relacionado a média dos empregados.
Por exemplo, no caso do empregado Rodrigo que tem média em pontuação de 189,38 e meta de 220 no mês, o % deve ser de 86% arredondado e estou obtendo 79% com a DAX acima. Já tentei alterar a MAX por VALUES, mas ocorreu erro ("uma tabela de vários valores foi fornecida, sendo que um único valor era esperado")



image.png.7b049f39c7bdb4f70cf414c487030f37.png

Estou usando a DAX acima em uma tabela no powerbi onde constam 4 empregados.

Alguém com mais experiência poderia me dar um auxilio?

Agradeço e desejo um ótimo ano a todos.

Rodrigo

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

Sem problema @rodrigo_altissimo, se não puder compartilhar o arquivo original tenta ver pelo menos uma versão simplificada com dados falsos 😉 

De qualquer maneira, olhando a tua nova fórmula ainda ficou um ponto faltando para ajustar:

fMetas[MêsMeta] = MAX(dCalendario[Data])

Aí você está comparando o mês de uma tabela com a data de outra. O ideal é comparar mês com mês ou data com data.

Outra opção é retirar completamente essa parte. Se as tabelas fMetas e fRegistros estiverem conectadas com a tabela dCalendario corretamente então o filtro de data vai cuidar dessa relação. Aí ficaria simplesmente assim:

%Meta =

DIVIDE(

    [MediaDia],

    CALCULATE(

        SUM(fMetas[ValorMeta]),

        FILTER(

            ALLSELECTED(fMetas),

            fMetas[Empregado] = MAX(fRegistros[NomeEmpregado])

        )

    )

)

Só checa aí que os valores da coluna [Empregado] na fMetas são exatamente os mesmos da coluna [NomeEmpregado] na fRegistros, e que a relação com a tabela dCalendario está usando as colunas certas (data com data, mês com mês).

Qualquer coisa, se ainda estiver complicado pode mandar uma mensagem privada que vemos com mais detalhes por lá 💪

Abs!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Suave @rodrigo_altissimo?

Imagino que você guarda os valores da produtividade de cada colaborador em uma terceira tabela (e.g.: fProdutividade), certo?

Neste caso, na sua formula %Meta você vai precisar ajustar as colunas usadas dentro da função FILTER() para que levem em conta o contexto da tabela onde esta a produtividade dos colaboradores.

Atualmente esta assim:

Citar
%Meta =
DIVIDE(
    [MediaDia],
    CALCULATE(
        SUM(fMetas[ValorMeta]),
        FILTER(
            fMetas,
            fMetas[Empregado] = MAX(fMetas[Empregado]) && fMetas[MesMeta] = MAX(fMetas[MesMeta])
        )
    )
)

Que deve ser modificado para algo assim:

Citar
%Meta =
DIVIDE(
    [MediaDia],
    CALCULATE(
        SUM(fMetas[ValorMeta]),
        FILTER(
            ALLSELECTED(fMetas),
            fMetas[Empregado] = MAX(fProdutividade[Empregado]) && fMetas[MesMeta] = MAX(dCalendario[Mes])
        )
    )
)

Por fim, se você quiser compartilhar um exemplo simplificado em .PBIX vai ser ficar mais fácil para gente te ajudar.

Se essa resposta te ajudou, não esquece de marcar como melhor solução 😉

Abs!

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

blz @Joao Raulino, correto - os registros da produtividade da equipe ficam armazenados na fRegistros.
Fiz as alterações propostas e agora não retornou nada, ficou em branco esse dado na tabela. Tenho dificuldades para compartilhar dados aqui, pois minha empresa tem política de bloqueio desse tipo de compartilhamento.

Dax ajustada:

%Meta = 

DIVIDE(
    [MediaDia],
    CALCULATE(
        Sum(fMetas[ValorMeta]),
        FILTER(
            ALLSELECTED(fMetas),

            fMetas[Empregado] = MAX(fRegistros[NomeEmpregado]) && fMetas[MêsMeta] = MAX(dCalendario[Data]))))

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...