Alunos Michael Neres Postado Setembro 16, 2021 Alunos Compartilhar Postado Setembro 16, 2021 Boa noite Colegas, Ao extrair uma base do sistema a qual utilizo, o mesmo já calcula o lead time, porém tenho a seguinte regra que devo aplicar via DAX: Caso a nota fiscal seja emitida após as 18:00hrs, é necessário acrescentar +1 dia util. Como faço para acrescentar +1 dia útil ? inicialmente estou aplicando a formula a qual pode cair nos finais de semana incorretamente. Validação NF = IF(HOUR('Base de Entrega 13 09'[Emissão NF]>=18;'Base de Entrega 13 09'[REF_PRAZO_DE_ENTREGA]+1;'Base de Entrega 13 09'[REF_PRAZO_DE_ENTREGA]) Já Criei um dCalendario, com dia útil porém não sei como aplicar essa consideração. Link para o comentário Compartilhar em outros sites More sharing options...
1 Alunos Solução Rodrigo R1 Postado Setembro 16, 2021 Alunos Solução Compartilhar Postado Setembro 16, 2021 Amigo, boa noite. O primeiro ajuste é que no seu modelo precisa ter uma coluna na dcalendário com a informação de dia útil ou não útil, conforme tela abaixo: Depois disso, segue a medida que irá te retornar os dias conforme a sua necessidade: se dia útil, retorna o própria dia, caso contrário retorna o primeiro dia útil posterior: Rodrigo R1 = var diaatual = SELECTEDVALUE('DCalendário2'[Data]) var situacao = SELECTEDVALUE('DCalendário2'[Util/Não Util]) var diautilposterior = CALCULATE( Min('DCalendário2'[Data]), FILTER(all('DCalendário2'[Data]), 'DCalendário2'[Data] > diaatual), 'DCalendário2'[Util/Não Util] = "Util") return IF(situacao = "Util", diaatual, diautilposterior) O raciocínio lógico para chegar a sua solução é esse. Agora é adaptar ao seu modelo. Espero que tenha ajudado. Sucesso aí, amigo. Link para o comentário Compartilhar em outros sites More sharing options...
1 Alunos Rodrigo R1 Postado Setembro 16, 2021 Alunos Compartilhar Postado Setembro 16, 2021 Amigo, como eu disse, precisa ajustar o raciocínio lógico da minha solução ao seu modelo. Portanto, pra eu conseguir fazer o que vc precisa, será necessário vc disponibilizar o arquivo PBIX. Lembrando que a minha medida foi feita com base na coluna de datas da DCalendario. Pelo que estou entendendo, vc precisa apenas ajustar para que a análise seja feita com base na sua coluna de Validação Datas. Com base nela, vc vai calcular o dia útil ou não, e tbm calcular o dia útil posterior, e depois disso irá fazer o check do IF. Entendo que vc precisa trocar na medida que eu forneci, onde for dcalendario(data), vc coloca a coluna validação data. Assim vc ajusta o contexto de avaliação ao seu modelo. Caso não tenha conseguido, reforço a necessidade de disponibilizar o PBIX para que eu consiga fazer. Sucesso aí. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Michael Neres Postado Setembro 16, 2021 Autor Alunos Compartilhar Postado Setembro 16, 2021 Bom dia Olá Rodrigo, desde já agradeço a explicação ! Já corrigi a dCalendario e tenho a referencia do que é dia util, mas como posso adaptar essa formula abaixo:Validação NF = IF(HOUR('Base de Entrega 13 09'[Emissão NF]>=18;'Base de Entrega 13 09'[REF_PRAZO_DE_ENTREGA]+1;'Base de Entrega 13 09'[REF_PRAZO_DE_ENTREGA]) Na coluna Validação Data estou aplicando a formula acima, a qual puxo o prazo de entrega que já em formato data e faço a verificação da hora para acrescentar +1 dia e na coluna Data Dia Uteis estou trazendo a regra a qual você disponibilizou. Como eu poderia aplicar uma formula para caso a Validação Data não estiver na coluna Data dia Uteis considerar o próximo dia mencionado na coluna ? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Michael Neres Postado Setembro 16, 2021 Autor Alunos Compartilhar Postado Setembro 16, 2021 Rodrigo, agradeço novamente a disponibilidade, segue o pbix em anexo. O motivo das duvidas com relação ao acréscimo do dia, é que vou necessitar incluir essa regra abaixo a qual utilizo no excel, porém preciso primeiro resolver essa questão grifada que estamos discutindo: =SE(E([@[TIPO_CLIENTE]]="Agendado";[@[DATA_DA_AGENDA]]<>"";[@[DT_REAGENDA]]<>"";[@[RESP_REAGENDA]]="Cliente");TRUNCAR([@[DT_REAGENDA]]); SE(E([@[TIPO_CLIENTE]]="Agendado";[@[DATA_DA_AGENDA]]<>"");TRUNCAR([@[DATA_DA_AGENDA]]); SE(E([@[TIPO_CLIENTE]]="Não Agendado";[@[REF_PRAZO_DE_ENTREGA]]<>"");DIATRABALHO.INTL(TRUNCAR([@[REF_PRAZO_DE_ENTREGA]]);SE(HORA([@[DATA_SHIPMENT]])>=18;1;0);1;db_apoio_feriado[Data]); SE([@[REF_PRAZO_DE_ENTREGA]]<>"";TRUNCAR([@[REF_PRAZO_DE_ENTREGA]]);"--")))) Material de Estudo.pbix Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Roseane Postado Dezembro 28, 2021 Alunos Compartilhar Postado Dezembro 28, 2021 Olá tudo bem? Já resolveu ou ainda está com problemas? Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Michael Neres
Boa noite
Colegas,
Ao extrair uma base do sistema a qual utilizo, o mesmo já calcula o lead time, porém tenho a seguinte regra que devo aplicar via DAX:
Caso a nota fiscal seja emitida após as 18:00hrs, é necessário acrescentar +1 dia util. Como faço para acrescentar +1 dia útil ?
inicialmente estou aplicando a formula a qual pode cair nos finais de semana incorretamente.
Já Criei um dCalendario, com dia útil porém não sei como aplicar essa consideração.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Faça login para comentar
Você vai ser capaz de deixar um comentário após fazer o login
Entrar Agora