Ir para conteúdo
  • 0

Dificuldade em montar uma medida


Bárbara Mota
Ir para solução Solucionado por Edson Igari ,

Pergunta

  • Alunos

gente, to com uma duvida em uma medida... Preciso calcular a quantidade de carros em nonrev que tem status aberto de forma histórica e a tabela histórica contém a placa do carro, a loja, o status, a data de inicio e a data fim..quanto um carro entra em nonrev e está com o status aberto cria uma linha com data fim nula e data inicio contendo a data..aí assim que o status fica em finalizado cria outra linha com a data de inicio de novo e a data fim realmente daquela placa..preciso calcular a quantidade de nonrev em cada mês do ano..exemplo: se ele iniciou dia 2/12/2023 e só foi finalizado dia 05/01/2024, precisa contar essa placa em dezembro e em janeiro..eu tava tentando fazer um range de datas pra fazer uma contagem distinta das placas com status abertos e que o range de datas seja = ao ultimo dia daquele mês mas n ta batendo com o valor 😕 se alguem tiver uma ideia e puder ajudar eu agradeço!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos
  • Solução
4 minutos atrás, Bárbara Mota disse:

exemplo_.xlsx 9.06 kB · 0 downloads

 

Pronto aqui demonstro dois exemplos...uma placa de carro serve pra varios contratos diferentes também e tipo se a placa continuo em status aberto no mês de dezembro e e tava tb em aberto em uma parte de janeiro precisa ser contada nos dois meses..seria essa ideia mais ou menos! Agradeçoooo 

@Bárbara Mota, resolvi algo parecido aqui. Da uma olhada.
 


Tem que criar uma medida mais ou menos assim.

Teste =
VAR vDatasMes = VALUES(dCalendario[Date])
VAR vResultado =
SUMX(
    CALCULATETABLE(
        SUMMARIZE(fAlunos,fAlunos[Id_Cliente],fAlunos[Id_Curso],fAlunos[Data_Inicio_Turma],fAlunos[Data_Fim_Turma]),
        ALL(dCalendario),
        fAlunos[Data_Inicio_Turma] <> BLANK(),
        fAlunos[Data_Fim_Turma] <> BLANK()
    ),
    VAR vDataIni = [Data_Inicio_Turma]
    VAR vDataFim = [Data_Fim_Turma]
    VAR vDatas = GENERATESERIES(VALUE(vDataIni),VALUE(vDataFim))
    VAR vIntersecao = INTERSECT(vDatas,vDatasMes)
    RETURN
    ROUND(DIVIDE(COUNTROWS(vIntersecao),30),0)
)
RETURN
vResultado
 
 

 

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

  • 0
  • Alunos
9 minutos atrás, Bárbara Mota disse:

gente, to com uma duvida em uma medida... Preciso calcular a quantidade de carros em nonrev que tem status aberto de forma histórica e a tabela histórica contém a placa do carro, a loja, o status, a data de inicio e a data fim..quanto um carro entra em nonrev e está com o status aberto cria uma linha com data fim nula e data inicio contendo a data..aí assim que o status fica em finalizado cria outra linha com a data de inicio de novo e a data fim realmente daquela placa..preciso calcular a quantidade de nonrev em cada mês do ano..exemplo: se ele iniciou dia 2/12/2023 e só foi finalizado dia 05/01/2024, precisa contar essa placa em dezembro e em janeiro..eu tava tentando fazer um range de datas pra fazer uma contagem distinta das placas com status abertos e que o range de datas seja = ao ultimo dia daquele mês mas n ta batendo com o valor 😕 se alguem tiver uma ideia e puder ajudar eu agradeço!

@Bárbara Mota, tudo bem? É possível fazer sim, mas é avançado. Tem que usar generateseries para pegar as datas desse intervalo e fazer um intersect com os dias selecionados do calendario. Enfim, consegue disponibilizar um arquivo de exemplo? Assim fica mais fácil de te ajudar.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos

exemplo_.xlsx

 

Pronto aqui demonstro dois exemplos...uma placa de carro serve pra varios contratos diferentes também e tipo se a placa continuo em status aberto no mês de dezembro e e tava tb em aberto em uma parte de janeiro precisa ser contada nos dois meses..seria essa ideia mais ou menos! Agradeçoooo 

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
2 horas atrás, Edson Igari disse:

@Bárbara Mota, resolvi algo parecido aqui. Da uma olhada.
 


Tem que criar uma medida mais ou menos assim.

Teste =
VAR vDatasMes = VALUES(dCalendario[Date])
VAR vResultado =
SUMX(
    CALCULATETABLE(
        SUMMARIZE(fAlunos,fAlunos[Id_Cliente],fAlunos[Id_Curso],fAlunos[Data_Inicio_Turma],fAlunos[Data_Fim_Turma]),
        ALL(dCalendario),
        fAlunos[Data_Inicio_Turma] <> BLANK(),
        fAlunos[Data_Fim_Turma] <> BLANK()
    ),
    VAR vDataIni = [Data_Inicio_Turma]
    VAR vDataFim = [Data_Fim_Turma]
    VAR vDatas = GENERATESERIES(VALUE(vDataIni),VALUE(vDataFim))
    VAR vIntersecao = INTERSECT(vDatas,vDatasMes)
    RETURN
    ROUND(DIVIDE(COUNTROWS(vIntersecao),30),0)
)
RETURN
vResultado
 
 

 

Pronto tá certo..vou tentar dessa forma! 

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