Ir para conteúdo
  • 0

Análise de Atraso por Diferença de Datas


Ir para solução Solucionado por Joao Raulino ,

Pergunta

  • Alunos
Postado

Bom dia pessoal, tudo bom?

Preciso de uma ajuda de vocês, não consegui nem imaginar como iniciar os cálculos nesse caso: tenho uma tabela (anexa) que contem o ID da tarefa, a descrição da tarefa, status, data de inicio, data fim e data do sistema (Dt Foto). Eu preciso que a medida ou coluna calculada (acho q por questões de performance, devido ao tamanho da base de dados, medida seria ideal) traga se a tarefa está atrasada ou não de acordo com a data fim e data do sistema (a coluna Retorno PBI eu criei para informar o esperado pela medida, não existe na base original). Por exemplo: uma tarefa q se inicia no dia 15/02 e deve ser finalizada no dia 19/02, a partir do dia 20/02 ela seja considerada atrasada e após a finalização da tarefa (status = Feito), não seja considerado atraso. O mesmo vale para tarefas com status removido, porém a lógica até a alteração do status é a mesma.

image.png.7f4dd24acf6fe5b10f5d8465d78df8a0.png

Teste PBI - Tasks.xlsx

9 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos
  • Solução
Postado

Boa @lucas.zulini!

A inclusão da coluna INDEX muda todo o contexto da função WINDOW. Para corrigir você precisa adicionar a parte MATCHBY():

Citar
$ Mudou? =
VAR _Window =
    CALCULATE(
        MIN(Planilha1[End Date]),
        WINDOW(
            -1, REL,
            0, REL,
            ALLSELECTED(Planilha1),
            ORDERBY(Planilha1[Index]),,
            PARTITIONBY(Planilha1[ID]),
            MATCHBY(Planilha1[Index])
        )
    )
VAR _EndDate = MAX(Planilha1[End Date])
RETURN
    IF(_Window = _EndDate, "NAO MUDOU", "MUDOU")

image.png.4c77d15696084f7ae7c988434176d7db.png

Se essa resposta te ajudou, não esquece de marcar como melhor solução 😉

Abs!

  • 1
  • Alunos
Postado

Suave @lucas.zulini?

Parece um ótimo exemplo para usar a função WINDOW(). Ficaria algo assim:

Citar
$ Mudou? =
VAR _Window =
    CALCULATE(
        MIN(Planilha1[End Date]),
        WINDOW(
            -1, REL,
            0, REL,
            ALLSELECTED(Planilha1[End Date]),
            ORDERBY(Planilha1[End Date], ASC)
        )
    )
RETURN
    IF(_Window = MAX(Planilha1[End Date]), "NAO MUDOU", "MUDOU")

Abs!

  • 0
  • Alunos
Postado

@Edson Igari, tudo bem sim e contigo?

Aparentemente é isso sim!!

Basicamente a medida precisa trazer se a tarefa está em atraso considerando a data do sistema (Dt Foto) e a data de final prevista (End Date). Se o status for "Feito" ou "Removido", desconsidera o atraso, calcula como OK. Me parece q foi exatamente isso q a sua medida calculou, eu só acrescentei a questão do "Removido" (print abaixo).

image.png.f9bdea221761457d6431effe30fe1d9e.png

Testarei na base original e te aviso se der tudo certo!!

Muito obrigado pela ajuda!!

  • Like 1
  • 0
  • Alunos
Postado

Oi @Edson Igari!!

O cenário mudou um pouco, não havia entendido o racional corretamente, me desculpe: o que eu precisaria na verdade é descobrir qdo houve uma mudança da data de entrega. Por exemplo: a Task 01 estava programada para ser entregue no dia 05/02 mas no dia 16/01 houve uma alteração no sistema para entrega no dia 06/02. Precisaria q a medida trouxesse todas essas mudanças.

image.png.64ae0129554d5b32e0c84eb3fde919b2.png

Muito obrigado pela ajuda!!

Teste PBI - Tasks V2.xlsx

  • 0
  • Alunos
Postado

Bom dia @Joao Raulino, tudo bom?

Cara, show de bola, deu certinho aqui!!

Última dúvida: nessa solução que propôs, há alguma forma de contar as vezes que houve mudança? Nesse caso, somaria 4 para a ID 37444.

Muito obrigado pela ajuda.

Faça login para comentar

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



Entrar Agora
×
×
  • Criar Novo...