Ir para conteúdo
  • 0

Saving x Custo


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

Pergunta

  • Alunos

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
  • Alunos
  • 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
  • Alunos
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

Faça login para comentar

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



Entrar Agora
×
×
  • Criar Novo...