Calcular dias úteis entre duas datas no LuckyTemplates

Vou mostrar como calcular dias úteis/dias úteis entre duas datas seja com os feriados contados ou sem os feriados. Este é um tópico que tem sido questionado repetidas vezes no .

Também acredito que esta será uma ótima maneira de encerrar esta série Time Intelligence, sabendo que ela cobre muitos dos outros elementos discutidos anteriormente. Esses elementos incluem criar uma tabela de feriados, criar uma tabela de data estendida e usar a função Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.

Índice

Formas de calcular dias úteis entre duas datas

Vou falar sobre diferentes abordagens que você pode usar para calcular os dias de trabalho.

O Excel permite que os usuários calculem os dias úteis de maneira direta por meio do uso de sua função NETWORKDAYS . No entanto, o DAX não tem uma função como essa , então discutirei maneiras de contornar isso.

Uma maneira de fazer isso é usar alguns elementos da tabela de datas estendidas.

Outra opção é por meio de uma abordagem que obtive de Imke Feldmann no blog thebiccountant.com. Ela criou uma função NetworkDays personalizada que pode ser chamada diretamente do Power Query , tornando o processo muito mais rápido e menos complicado.

Para mostrar como essas abordagens funcionam, usarei um cenário muito comum.

Tenho cem projetos que anonimizei.

Calcular dias úteis entre duas datas no LuckyTemplates

Também tenho uma data de início e uma data de término para cada projeto.

Calcular dias úteis entre duas datas no LuckyTemplates

Também criei uma medida simples de dias decorridos . Este é basicamente o número bruto de dias entre cada uma das datas de início e término . Usei a função para fazer isso, uma função útil para datar dias úteis.

Calcular dias úteis entre duas datas no LuckyTemplates

O modelo de dados é muito simples. Contém tabelas para Datas e Projetos .

Calcular dias úteis entre duas datas no LuckyTemplates

Ele também mostra a tabela de fatos, que inclui o Project ID , Start Date e End Date .

Calcular dias úteis entre duas datas no LuckyTemplates

Para fins de comparação, também calculei o NetworkDays (com e sem feriados) usando o Excel (não o power bi).

Calcular dias úteis entre duas datas no LuckyTemplates

Claro, você pode fazer a mesma coisa e trazer dados do Excel. Mas o objetivo aqui é usar o LuckyTemplates para calcular o número de dias úteis sem precisar usar o Excel.

Calculando dias úteis entre datas usando DAX

Sempre que você lida com datas de contagem, é sempre eficiente usar a função na tabela Dates.

Calcular dias úteis entre duas datas no LuckyTemplates

Também usei DATESBETWEEN para restringir o campo entre a Data inicial e a Data final . Também adicionei IsWorkingDay para aplicar a lógica booleana simples de que, se for um dia de trabalho, deve ser . Os fins de semana retornariam um .

Terminei com o filtro apenas para levar em conta o contexto das segmentações.

Quanto à versão com feriados, é muito semelhante à medida que acabei de discutir.

Calcular dias úteis entre duas datas no LuckyTemplates

É a mesma expressão usando a função DATESBETWEEN . Eu só adicionei um e IsHoliday.

Calcular dias úteis entre duas datas no LuckyTemplates

Mais uma vez, usei a função ALLSELECTED bem no final.

Veja o que acontece quando arrasto essas duas medidas para minha tabela.

Calcular dias úteis entre duas datas no LuckyTemplates

Como esperado, a coluna Workdays w/ Holidays corresponde perfeitamente à coluna Excel w/ Holidays . O mesmo vale para a coluna Workdays w/o Holidays, que corresponde à coluna Excel w/o Holidays .

Calculando dias úteis usando o Power Query

A abordagem de que fala Imke Feldmann, do blog thebiccoountant.com, oferece uma solução ainda mais fácil ao usar o Power Query.

Em seu blog sobre a função NETWORKDAYS, ela forneceu um código M que pode ser invocado no Power Query.

Calcular dias úteis entre duas datas no LuckyTemplates

Simplesmente copie o código M do blog dela.

Calcular dias úteis entre duas datas no LuckyTemplates

Em seguida, vá para o Power Query e em New Source , abra uma consulta em branco.

Calcular dias úteis entre duas datas no LuckyTemplates

Vá para o Editor Avançado .

Calcular dias úteis entre duas datas no LuckyTemplates

Em seguida, cole o código inteiro na página. Certifique-se de ter uma verificação verde para garantir que não haja erros em seu código.

Calcular dias úteis entre duas datas no LuckyTemplates

Uma vez invocado, ele o levará a este modelo.

Calcular dias úteis entre duas datas no LuckyTemplates

Realmente não importa o que eu inserir aqui, então irei apenas de 1º de janeiro de 2018 a 1º de janeiro de 2020.

Calcular dias úteis entre duas datas no LuckyTemplates

Isso agora aparecerá em minhas consultas. Vou renomeá-lo para facilitar o uso posterior.

Calcular dias úteis entre duas datas no LuckyTemplates

Vou chamá-lo de Networkdays .

Calcular dias úteis entre duas datas no LuckyTemplates

Agora, posso começar a usar essa consulta. Vou apenas entrar em meus dados .

Calcular dias úteis entre duas datas no LuckyTemplates

Em seguida, em Add Column , clicarei em Invoke Custom Function .

Calcular dias úteis entre duas datas no LuckyTemplates

Vou chamar isso de NWD e usar a função Networkdays .

Calcular dias úteis entre duas datas no LuckyTemplates

Em seguida, escolherei Data de início e Data de término nos menus suspensos abaixo.

Calcular dias úteis entre duas datas no LuckyTemplates

Isso me dá a opção aqui de mudar o início da semana de segunda-feira para outra coisa.

Calcular dias úteis entre duas datas no LuckyTemplates

Para este propósito, segunda-feira é bom, então vou deixar isso como está. Em seguida, clicarei em OK.

Calcular dias úteis entre duas datas no LuckyTemplates

Como você pode ver, ele calcula imediatamente o NetworkDays equivalente à coluna NetworkDays do Excel .

Calcular dias úteis entre duas datas no LuckyTemplates

Agora, deixe-me ajustar isso para que eu possa excluir os feriados. Eu só preciso entrar na minha mesa de férias .

Calcular dias úteis entre duas datas no LuckyTemplates

Se você se lembra do modelo, a tabela Holiday é o terceiro parâmetro aqui.

Calcular dias úteis entre duas datas no LuckyTemplates

Portanto, usarei apenas a tabela Feriados aqui e referenciarei a coluna Data.

Calcular dias úteis entre duas datas no LuckyTemplates

Clicarei na marca de seleção aqui para aplicar essas alterações.

Calcular dias úteis entre duas datas no LuckyTemplates

[00:11:00]
Agora, foi atualizado e removeu todos os feriados. É exatamente igual à coluna do Excel NetworkDays sem feriados.

Calcular dias úteis entre duas datas no LuckyTemplates

Vou apenas renomear esta coluna NWD Sem feriado.

Calcular dias úteis entre duas datas no LuckyTemplates


Adicionando números de dias úteis e finais de semana à sua tabela de datas: técnica de inteligência de tempo no LuckyTemplates
Apresentando números de dias úteis no LuckyTemplates usando DAX
Calculando a média no LuckyTemplates: isolando resultados de dias úteis ou finais de semana usando DAX

Conclusão

Você verá que as duas abordagens que usei eram muito diferentes uma da outra, mas ambas produziram os mesmos resultados. Isso apenas mostra que realmente existem muitas maneiras de maximizar o LuckyTemplates, mesmo quando a função específica do Excel que você está procurando não tem uma contrapartida direta.

Esta foi uma ótima corrida para a série Time Intelligence. Gostei de trabalhar com Melissa Dekorte para mostrar a você todos esses ótimos cenários de Time Intelligence.

Uma das coisas que realmente quero enfatizar aqui é que o DAX é a parte mais interessante do LuckyTemplates. Mas à medida que você dominar os meandros do LuckyTemplates, começará a apreciar outras soluções que não envolvem DAX. A última abordagem que mostrei acima, bem como as dicas que compartilhei nos vídeos anteriores do Time Intelligence provam esse fato.

Tudo de bom,

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.