Ir para conteúdo
  • 0

Distância percorrida dos últimos 7 dias rodados por veículo


mikhaelaribeiro
Ir para solução Solucionado por gersonggv ,

Pergunta

  • Membros

Boa tarde pessoal,

Estou à alguns dias tentando fechar essa medida, onde eu preciso somar a distância dos últimos 7 dias percorridos por veículo, ou seja, somar apenas os dias que o veículo teve sua distância > 0 e pular os dias que o veículo não rodou, até dar os 7 dias de dados.

Um detalhe é que a base de veículos é grande, e sempre tem algum veículo que rodou em determinado dia, por isso precisaria que a fórmula olhasse linha a linha por veículo para verificar se o mesmo rodou ou não.

Vou anexar neste uma base de teste onde temos 3 veículos fictícios, com 10 dias de dados cada, onde em alguns dias um desses veículos não rodou, mas os outros sim.

A medida que consegui fazer até o momento foi esta:

Distância últimos 7 dias =

calculate(sum(factFuelConsumption[Distance]),
VALUES(dimVehicles[VehicleId]),
DATESBETWEEN(dCalendario[Date]), 
MAX(dCalendario[Date])-6 , 
MAX(dCalendario[Date])),
factFuelConsumption[Distance] > 0)

Na medida acima o resultado que obtenho é sempre o total da distância percorrida porém no total de dias considerados, a medida considera os dias que o veículo teve distância igual a 0, ou seja, não percorreu, dessa forma ele soma entre 3 à 5 dias de dados dos veículos.

Alguma ideia do que posso mudar para obter 7 dias de distâncias dos veículos?

Teste Autonomia.xlsx

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
  • Membros
21 horas atrás, mikhaelaribeiro disse:

Boa tarde pessoal,

Estou à alguns dias tentando fechar essa medida, onde eu preciso somar a distância dos últimos 7 dias percorridos por veículo, ou seja, somar apenas os dias que o veículo teve sua distância > 0 e pular os dias que o veículo não rodou, até dar os 7 dias de dados.

Um detalhe é que a base de veículos é grande, e sempre tem algum veículo que rodou em determinado dia, por isso precisaria que a fórmula olhasse linha a linha por veículo para verificar se o mesmo rodou ou não.

Vou anexar neste uma base de teste onde temos 3 veículos fictícios, com 10 dias de dados cada, onde em alguns dias um desses veículos não rodou, mas os outros sim.

A medida que consegui fazer até o momento foi esta:

Distância últimos 7 dias =

calculate(sum(factFuelConsumption[Distance]),
VALUES(dimVehicles[VehicleId]),
DATESBETWEEN(dCalendario[Date]), 
MAX(dCalendario[Date])-6 , 
MAX(dCalendario[Date])),
factFuelConsumption[Distance] > 0)

Na medida acima o resultado que obtenho é sempre o total da distância percorrida porém no total de dias considerados, a medida considera os dias que o veículo teve distância igual a 0, ou seja, não percorreu, dessa forma ele soma entre 3 à 5 dias de dados dos veículos.

Alguma ideia do que posso mudar para obter 7 dias de distâncias dos veículos?

Teste Autonomia.xlsx 16 kB · 7 downloads

Boa Tarde! @mikhaelaribeiro veja se o que anexei te atende. 

 

power bi teste.pbix 624740362_TesteAutonomia.xlsx

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

Utilizei esta função abaixo, veja se funciona.

Arquivo em anexo
 

Ult 7 Registros =
var _Placas= SELECTCOLUMNS(VALUES(Dados[PLACA]),"@Nome",Dados[PLACA])
var _Tabela = ADDCOLUMNS(_Placas,"@Valor",sumx(TOPN(7,filter(ALL(Dados),Dados[PLACA]=[@Nome] && Dados[DISTÂNCIA] > 0),Dados[DATA],DESC),Dados[DISTÂNCIA]))
return sumx(_Tabela,[@Valor])

SoluçãoMikhaela.pbix

  • Gostei 1
Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
1 hora atrás, Joao Barbosa disse:

Boa tarde João, obrigada pela sua resposta!

Porém sua medida vai acumulando a distância, eu precisaria da soma total, pois na tabela que vou demonstrar para o cliente, não tem a coluna de data, então os dados ficam resumidos sendo 1 linha por placa de veículo.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
12 minutos atrás, mikhaelaribeiro disse:

Boa tarde João, obrigada pela sua resposta!

Porém sua medida vai acumulando a distância, eu precisaria da soma total, pois na tabela que vou demonstrar para o cliente, não tem a coluna de data, então os dados ficam resumidos sendo 1 linha por placa de veículo.

Vendo a solução do Gerson entendi o que deveria ser feito .

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
1 hora atrás, gersonggv disse:

Utilizei esta função abaixo, veja se funciona.

Arquivo em anexo
 

Ult 7 Registros =
var _Placas= SELECTCOLUMNS(VALUES(Dados[PLACA]),"@Nome",Dados[PLACA])
var _Tabela = ADDCOLUMNS(_Placas,"@Valor",sumx(TOPN(7,filter(ALL(Dados),Dados[PLACA]=[@Nome] && Dados[DISTÂNCIA] > 0),Dados[DATA],DESC),Dados[DISTÂNCIA]))
return sumx(_Tabela,[@Valor])

SoluçãoMikhaela.pbix 25 kB · 0 downloads

Boa tarde Gerson, obrigada pela sua resposta!

Testei no pbix do cliente e infelizmente não funcionou, trouxe apenas a distância do último dia, anexo um print:

image.png.8d98edb2d1dffb9a17ccbca120a946b4.png

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
Em 16/11/2022 em 10:16, gersonggv disse:

Veja se a coluna Data está ordenada. Vá no Power Query e classifique a coluna data em ordem crescente e veja se funciona.

Gerson, conseguimos resolver, o motivo da medida não estar funcionando era por quê tínhamos mais de 1 linha para cada dia, ou seja, no mesmo dia o rastreador do veículo enviava a informação de distância, por isso o TOP N se perdia. O Fabio Marquez de Carvalho Junior nos ajudou agrupando o select na tabela por dia, mantendo assim somente 1 linha para cada veículo e agregando os valores comunicados ao longo do dia. Muito obrigada pela sua ajuda!

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...