Ir para conteúdo
  • 1

Somar até o X dia útil


Everton Carsten da Rosa
Ir para solução Solucionado por Everton Carsten da Rosa ,

Pergunta

  • Alunos

Boa tarde comunidade

Preciso de apoio para ajustar a seguinte função DAX:

VAR FirstDay = STARTOFMONTH(dCalendario[ID Data])
RETURN

CALCULATE(SUM(fOportunidades[total]),
   fOportunidades[status] ="open",
   USERELATIONSHIP(dCalendario[ID Data],fOportunidades[dataestimada]),
    fOportunidades[datacriação] <= FirstDay
)

O ponto é que preciso realizar o cálculo considerando o 5º dia útil de cada mês e não o primeiro que usei na função na variável STARTOFMONTH.

Na tabela dCalendario já tenho toda a estrutura de dia útil definida, com 0 para Não e 1 para Sim (se é ou não dia útil).

 

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução
19 horas atrás, Rodrigo R1 disse:

Ah sim, amigo....entendi agora. Então precisaremos levar em consideração o dia útil na sua medida, né?
Bom...depois de muito queimar os neurônios, eu cheguei na seguinte solução:

2071119431_Quintodiautil.png.ae62d9dd1db3963ed13e99264165a7ce.png

A minha lógica foi fazer uma variável (diaacumulados) do acumulado usando da coluna de dia útil, que possui o 1 quando é sim e 0 quando é não.

Depois disso, criei uma nova variável para trazer o quinto dia útil, levando em consideração quando a variável "diaacumulado", seja 5, dia útil, dentro de cada mês de avaliação do contexto.

Dessa forma, a medida criada acima irá retornar o quinto dia útil - pois é o que está dentro da CALCULATE - MAX(DCALENDARIO[DATE]).

Você poderá ajusta-la para a sua necessidade, informando a sua medida dentro da CALCULATE da variável "quintodia".

Lembrando que o resultado dela irá demonstrar apenas o valor da sua medida no quinto dia útil de cada mês.

Outra consideração é que na base que eu criei, não foi considerado feriados, apenas final de semana como dia não útil - por isso essa diferença, como você citou em setembro - no seu modelo será 08/09 e no meu 07/09, ok?

Sinceramente não sei se seria a melhor maneira ou mais performática de chegar no resultado....rsrsrs....mas deu certo!!!

Espero que tenha ajudado.

Abraço.

Rodrigo. Muito obrigado pela ajuda. 

Acabei utilizando outra abordagem. Consegui criar uma solução ontem pela tarde, após muita pesquisa e compartilho aqui para ficar na comunidade.

Na tabela dCalendário criei uma coluna (DAX) ao lado da coluna Dia Útil chamada Dia Útil Mês, com a seguinte lógica

image.thumb.png.f994c136af316adf3d86ff79aa162e07.png

 Assim, todos os dias úteis de cada ID Data da tabela ficam definidos. 

Depois na função DAX para somar no dia útil X ficou assim:

image.png.e04c513eeb0f3e0c3a3b9749b42e9a2c.png

E fechei com fOportunidades[datacriação] <= FifthDay

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
7 minutos atrás, Rodrigo R1 disse:

Boa tarde @Everton Carsten da Rosa. E se vc somar mais 4 na sua variável VAR FirstDay? Assim ela irá representar o 5º dia.

Espero que tenha ajudado.

Sucesso aí, amigo.

Rodrigo. Não fecha. É o quinta dia útil, que neste caso, agora em setembro é hoje 08/09/2021. 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Ah sim, amigo....entendi agora. Então precisaremos levar em consideração o dia útil na sua medida, né?
Bom...depois de muito queimar os neurônios, eu cheguei na seguinte solução:

2071119431_Quintodiautil.png.ae62d9dd1db3963ed13e99264165a7ce.png

A minha lógica foi fazer uma variável (diaacumulados) do acumulado usando da coluna de dia útil, que possui o 1 quando é sim e 0 quando é não.

Depois disso, criei uma nova variável para trazer o quinto dia útil, levando em consideração quando a variável "diaacumulado", seja 5, dia útil, dentro de cada mês de avaliação do contexto.

Dessa forma, a medida criada acima irá retornar o quinto dia útil - pois é o que está dentro da CALCULATE - MAX(DCALENDARIO[DATE]).

Você poderá ajusta-la para a sua necessidade, informando a sua medida dentro da CALCULATE da variável "quintodia".

Lembrando que o resultado dela irá demonstrar apenas o valor da sua medida no quinto dia útil de cada mês.

Outra consideração é que na base que eu criei, não foi considerado feriados, apenas final de semana como dia não útil - por isso essa diferença, como você citou em setembro - no seu modelo será 08/09 e no meu 07/09, ok?

Sinceramente não sei se seria a melhor maneira ou mais performática de chegar no resultado....rsrsrs....mas deu certo!!!

Espero que tenha ajudado.

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...