Ir para conteúdo
  • 0

Saving x Custo


tbaragao
Ir para solução Solucionado por Bruno Abdalla de Souza ,

Pergunta

  • Membros

Boa noite, pessoal!

 

Em um outro tópico, precisava contar os dias que uma vaga fica desocupada dentro do mês e que teria que ser distribuída dentro de cada mês, e não a soma total. Felizmente tivemos a solução com um colega do fórum (Bruno Abdalla de Souza).

 

 

Agora o desafio é calcular o Custo x Saving dessas vagas (como cada vaga possui um valor salarial atrelado a ela, preciso verificar quanto tenho de saving e quanto de custo ao filtrar ao mês).  A medida anterior deu certo e atendeu ao que precisava, e como ela faz um "check" com a coluna de desocupação, acaba apenas incluindo o saving das vagas que foram desocupadas no mês do filtro.

Esse é o valor que deveria apresentar:


image.png.d5519f62a7c51b7658a224e78daf8b1c.png

image.png.ccfb1e2df0c0a1891005443a6167ee40.png

image.png.f58c4a8aad9ce6cd4e18afc273f00f03.png

Agradeço desde já!

período.pbix

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
  • Membros
  • Solução

Veja se é isso. Deu um pouco diferente, pois tem alguns dias que você contou a menos e não entendi o motivo. Por exemplo, o primeiro vai até o dia 02/01, mas vc contou apenas 1 dias em Janeiro.  

Saving = 
VAR vDatasMinMes = MIN(Calendario[Data completa])
VAR vDataMaxMes = MAX(Calendario[Data completa])
VAr vDatasMes = VALUES(Calendario[Data completa])
VAR vResultado = 
    SUMX(
        CALCULATETABLE(
            Fato,
            ALL(Calendario)
        ),
        VAR vOcupacao = Fato[OCUPAÇÃO]
        VAR vDesocupacao = Fato[DESOCUPAÇÃO]
        VAR vDatas = GENERATESERIES(VALUE(vDesocupacao), VALUE(vOcupacao))
        VAR vIntersecao = INTERSECT(vDatas, vDatasMes)
        VAR vSalario = Fato[Salário]
        RETURN
        DIVIDE(COUNTROWS(vIntersecao), 30) * vSalario
    )
RETURN
    vResultado

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
7 horas atrás, Bruno Abdalla de Souza disse:

Veja se é isso. Deu um pouco diferente, pois tem alguns dias que você contou a menos e não entendi o motivo. Por exemplo, o primeiro vai até o dia 02/01, mas vc contou apenas 1 dias em Janeiro.  

Saving = 
VAR vDatasMinMes = MIN(Calendario[Data completa])
VAR vDataMaxMes = MAX(Calendario[Data completa])
VAr vDatasMes = VALUES(Calendario[Data completa])
VAR vResultado = 
    SUMX(
        CALCULATETABLE(
            Fato,
            ALL(Calendario)
        ),
        VAR vOcupacao = Fato[OCUPAÇÃO]
        VAR vDesocupacao = Fato[DESOCUPAÇÃO]
        VAR vDatas = GENERATESERIES(VALUE(vDesocupacao), VALUE(vOcupacao))
        VAR vIntersecao = INTERSECT(vDatas, vDatasMes)
        VAR vSalario = Fato[Salário]
        RETURN
        DIVIDE(COUNTROWS(vIntersecao), 30) * vSalario
    )
RETURN
    vResultado

 

Boa tarde, Bruno! 

Como vai?

 

O conceito que usamos é o seguinte: a vaga foi ocupada no dia 02/01, então contamos o dia 01/01 como vaga desocupada, resultando em um dia em janeiro com a vaga aberta. Salário passa a ser pago a partir do dia da ocupação, e o saving é o período da vaga que estava desocupada. (adicionamos Ocupação -1 e Desocupação +1)

Essa medida atendeu mais uma vez o que precisávamos! Obrigado pelo seu tempo!!

 

Grande abraço!

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...