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.
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.
Também tenho uma data de início e uma data de término para cada projeto.
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.
O modelo de dados é muito simples. Contém tabelas para Datas e Projetos .
Ele também mostra a tabela de fatos, que inclui o Project ID , Start Date e End Date .
Para fins de comparação, também calculei o NetworkDays (com e sem feriados) usando o Excel (não o power bi).
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.
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.
É a mesma expressão usando a função DATESBETWEEN . Eu só adicionei um e IsHoliday.
Mais uma vez, usei a função ALLSELECTED bem no final.
Veja o que acontece quando arrasto essas duas medidas para minha tabela.
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.
Simplesmente copie o código M do blog dela.
Em seguida, vá para o Power Query e em New Source , abra uma consulta em branco.
Vá para o Editor Avançado .
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.
Uma vez invocado, ele o levará a este modelo.
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.
Isso agora aparecerá em minhas consultas. Vou renomeá-lo para facilitar o uso posterior.
Vou chamá-lo de Networkdays .
Agora, posso começar a usar essa consulta. Vou apenas entrar em meus dados .
Em seguida, em Add Column , clicarei em Invoke Custom Function .
Vou chamar isso de NWD e usar a função Networkdays .
Em seguida, escolherei Data de início e Data de término nos menus suspensos abaixo.
Isso me dá a opção aqui de mudar o início da semana de segunda-feira para outra coisa.
Para este propósito, segunda-feira é bom, então vou deixar isso como está. Em seguida, clicarei em OK.
Como você pode ver, ele calcula imediatamente o NetworkDays equivalente à coluna NetworkDays do Excel .
Agora, deixe-me ajustar isso para que eu possa excluir os feriados. Eu só preciso entrar na minha mesa de férias .
Se você se lembra do modelo, a tabela Holiday é o terceiro parâmetro aqui.
Portanto, usarei apenas a tabela Feriados aqui e referenciarei a coluna Data.
Clicarei na marca de seleção aqui para aplicar essas alterações.
[00:11:00]
Agora, foi atualizado e removeu todos os feriados. É exatamente igual à coluna do Excel NetworkDays sem feriados.
Vou apenas renomear esta coluna NWD Sem feriado.
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,
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.
Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates
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.
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.
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.
Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.
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
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.
Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.