Ir para conteúdo
  • 0

Problema para buscar a informação do último status quando tem dois lançamentos na mesma data


Elderap
Ir para solução Solucionado por Frank Figueredo ,

Pergunta

  • Alunos

Boa tarde pessoal,

 

Eu tenho o seguinte problema:

Tenho um banco de dados onde o cliente passa por uma série de etapas até a conclusão de um serviço, então preciso mapear em qual etapa o cliente está atualmente ("último status") e para isto eu criei a seguinte fórmula:

 

Clientes em cada etapa =
COUNTROWS(
FILTER(
ADDCOLUMNS(
VALUES('fDados-Modelo'[OS]),
"ultimaocorrencia",
CALCULATE(
CALCULATE(
SELECTEDVALUE('fDados-Modelo'[Estágio atual do cliente no funil]),
LASTDATE('fDados-Modelo'[Data Movimentação no funil])
),
ALL('fDados-Modelo'[Estágio atual do cliente no funil])
)
),
[ultimaocorrencia] = SELECTEDVALUE('fDados-Modelo'[Estágio atual do cliente no funil])
))

 

Isto funcionaria se não tivesse a possibilidade de ter mais de um status no mesmo dia e por isto vou precisar usar também a hora do registro para classificar quem é o último registro, no entanto, a parte da formula que tem "lastdate" não admite hora.

Eu coloquei também a base para mostrar, basta pegar um exemplo que ele não está contando no funil por ser na mesma data e mudar a hora de um dos registros a fórmula vai "quebrar". Gostaria de saber como eu identifico o último registro considerando que eles podem ocorrer no mesmo dia?

Agradeço desde já a ajuda.

 

Exemplo de problema.pbix Base_fato_Modelo_2.xlsx

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
  • Alunos
  • Solução

@Elderap como já tinha feito, vou mandar também a solução que pensei, mas fiz ela usando o Power Query.

Inseri um registro extra para o cliente 2, no mesmo dia para simular:

 

image.png.ca5ad538be15a90b941e974dbc269085.png

 

A lógica usada foi criar uma coluna pra dizer qual registro é o último, depois é só fazer uma medida para contar somente o que é o último registro.

Inseri mais três passos no Power Query

1- Agrupei por cliente e peguei a máx data/hora para cada cliente e mantive todos os dados numa terceira coluna
image.png.2e48f8844d62d88e36b9102b2b0905f3.png

2 - Depois expandi os demais dados para trazer as outras informações.

3 -  Criei uma coluna que faz um teste lógico para ver se a data maxima daquele  cliente é igual a data da linha de registro, se for atribui sim, senão atribui não
image.png.d7ea28a2ad6ee8bfc9da57bc428044d5.png

 

Depois criei a medida somente para os registros que tem "Sim"

@Qtd Cliente Ultima Etapa = 
CALCULATE(
    COUNTROWS('fDados-Modelo'),
    'fDados-Modelo'[Ultimo Registro] = "Sim"
)

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
14 minutos atrás, Frank Figueredo disse:

@Elderap Você precisa dos demais registros ou somente do mais atual?

Na sua base apesar da coluna de Data de Movimentação ser data e hora, os valores de horas estão todos iguais, você não tem os dados com a data e hora que ocorreram não?

Sim @Frank Figueredo, preciso de todos os passos na base para fazer outras análises, inclusive o tempo total da jornada (que ainda vou pensar nesta solução de cálculo depois kkk). 

Sobre os valores das horas estarem iguais eu deixei assim mesmo só para que a fórmula atual ficasse funcionando, mas, bastata mudar na base e colocar 1 segundo em um registro que esteja igual que vai "quebrar" a medida, pois, ela não funciona com hora, a ideia seria ver como poderia substituir este "lastdate" por uma que considerasse o último registro mesmo, incluindo a hora.

 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

Olá @Elderap!

Não sei se era isso que você queria, mas creio que sim. Apenas lembrando que a sua base vai precisar trazer hora correta junto com a data, senão o MAX vai pegar o primeiro valor que achar creio que, já que as datas e horas estarão todas iguais.

image.png.58acbd5095f967c6a16e0244868f7a81.png

image.png.68dc2da38d609fe07d8348e03800009b.png

Mudança realizada:

image.png.1bd21bb17acbd74d3bce0ca3e0697777.png

1125239763_Exemplodeproblema.pbix Base_fato_Modelo_2.xlsx

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
10 horas atrás, Michele disse:

Olá @Elderap!

Não sei se era isso que você queria, mas creio que sim. Apenas lembrando que a sua base vai precisar trazer hora correta junto com a data, senão o MAX vai pegar o primeiro valor que achar creio que, já que as datas e horas estarão todas iguais.

image.png.58acbd5095f967c6a16e0244868f7a81.png

image.png.68dc2da38d609fe07d8348e03800009b.png

Mudança realizada:

image.png.1bd21bb17acbd74d3bce0ca3e0697777.png

1125239763_Exemplodeproblema.pbix 48 kB · 0 downloads Base_fato_Modelo_2.xlsx 21 kB · 0 downloads

Muito obrigado Michele, você resolveu exatamente o que eu estava na dúvida naquele momento!

10 horas atrás, Frank Figueredo disse:

@Elderap como já tinha feito, vou mandar também a solução que pensei, mas fiz ela usando o Power Query.

Inseri um registro extra para o cliente 2, no mesmo dia para simular:

 

image.png.ca5ad538be15a90b941e974dbc269085.png

 

A lógica usada foi criar uma coluna pra dizer qual registro é o último, depois é só fazer uma medida para contar somente o que é o último registro.

Inseri mais três passos no Power Query

1- Agrupei por cliente e peguei a máx data/hora para cada cliente e mantive todos os dados numa terceira coluna
image.png.2e48f8844d62d88e36b9102b2b0905f3.png

2 - Depois expandi os demais dados para trazer as outras informações.

3 -  Criei uma coluna que faz um teste lógico para ver se a data maxima daquele  cliente é igual a data da linha de registro, se for atribui sim, senão atribui não
image.png.d7ea28a2ad6ee8bfc9da57bc428044d5.png

 

Depois criei a medida somente para os registros que tem "Sim"

@Qtd Cliente Ultima Etapa = 
CALCULATE(
    COUNTROWS('fDados-Modelo'),
    'fDados-Modelo'[Ultimo Registro] = "Sim"
)

 

 

Frank muito obrigado também, eu estava sem querer trabalhar com coluna calculada para isto e você deu uma solução via PQ que me ajudou muito para outras medidas também,  mesmo sem ser o formato que eu tinha perguntado inicialmente, acabou que a solução vai me ajudar em todo o projeto.

Agradeço muito a participação dos dois!

 

Abraço

  • Like 2
Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
5 horas atrás, Michele disse:

Olá @Elderap!

Que ótimo 😄

Se você puder marcar como Solução a resposta que te ajudou neste problema, por favor, pois com isso o tópico será fechado, obrigada!

Olá Michele, eu marquei como resolvido a resposta do Frank, infelizmente não consegui marcar as duas, pois, a sua também foi muito boa a solução.

Obrigado mais uma vez.

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