Ir para conteúdo
  • 0

Diferença entre datas


williamrodrigues
Ir para solução Solucionado por Tiago Craici ,

Pergunta

  • Membros

Bom dia Pessoal.

Em uma tabela, tenho uma tabela que contém:
ID: Identificação de um paciente
Nome: nome do paciente
NFICHA= número da ficha de atendimento
Data: Data do atendimento
Tipo de ficha: Classificação da ficha que podem ir de 1 a 8

Preciso criar uma nova coluna com a diferença entre o atendimento mais recente e o último atendimento de um mesmo paciente, quando o tipo de ficha for 8

Não estou conseguindo restringir o cálculo por paciente, ele considera apenas a ultima linha

image.png.8e62c289d64df37d68adba39c8209085.png

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
  • Membros
  • Solução

Boa tarde! 
resultado:
image.png.f9bed6b52d90640583995e4a712ce993.png





Medida:
 

Tiago =
VAR vContexto =
    SELECTEDVALUE ( Tabela[id] )
VAR vDataAtual =
    SELECTEDVALUE ( Tabela[Data] )
VAR vUltimoDia =
    IF (
        SELECTEDVALUE ( Tabela[Tipo de ficha] ) = 8,
        CALCULATE (
            MAX ( Tabela[Data] ),
            FILTER (
                ALL ( Tabela ),
                Tabela[id] = vContexto
                    && Tabela[Data] < vDataAtual
                    && Tabela[Tipo de ficha] = 8
            )
        )
    )
VAR vResultado =
    DATEDIFF ( vUltimoDia, vDataAtual, DAY )
RETURN
    IF ( vUltimoDia <> BLANK (), vResultado, " " )
Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros

Olá @williamrodrigues!

Você vai querer apresentar esses dados todos + essa informação?

Ser for isso acredito que uma medida lhe atenda, onde numa variável você pega o mínimo, outra pega o máximo e então subtrai. Em teoria funcionaria.

Vou tentar replicar algo neste sentido aqui, se conseguir te aviso.

Obs.: Se você precisa fazer isso no PQ uma opção é você sumarizar seus dados pela data máxima, agrupando pelos demais campos, depois uma outra outra sumarizando pela data mínima, também agrupando pelos demais campos e depois unificar essas duas tabelas, comparando a pessoa e trazendo apenas a coluna de mínimo da outra tabela. Dessa forma você teria os dois campos na mesma tabela e as duas colunas na mesma linha.

Outra opção é fazer isso no SQL, não sei qual é a sua fonte de dados, mas no meu caso eu faria isso em uma view no SQL.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Membros
4 minutos atrás, Michele disse:

Olá @williamrodrigues!

Você vai querer apresentar esses dados todos + essa informação?

Ser for isso acredito que uma medida lhe atenda, onde numa variável você pega o mínimo, outra pega o máximo e então subtrai. Em teoria funcionaria.

Vou tentar replicar algo neste sentido aqui, se conseguir te aviso.

Obs.: Se você precisa fazer isso no PQ uma opção é você sumarizar seus dados pela data máxima, agrupando pelos demais campos, depois uma outra outra sumarizando pela data mínima, também agrupando pelos demais campos e depois unificar essas duas tabelas, comparando a pessoa e trazendo apenas a coluna de mínimo da outra tabela. Dessa forma você teria os dois campos na mesma tabela e as duas colunas na mesma linha.

Outra opção é fazer isso no SQL, não sei qual é a sua fonte de dados, mas no meu caso eu faria isso em uma view no SQL.

O motivo final é verificar quantos dias em média se passam entre os atendimentos, então consultar a menor x o maior não daria certo, pois uma pessoa pode ter inúmeras fichas de atendimento, eu vou calcular quantos dias se passam entre a consulta atual e a última. Depois com esses valores calculados irei fazer a média

 

Link para o comentário
Compartilhar em outros sites

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

Bom dia Pessoal.

Em uma tabela, tenho uma tabela que contém:
ID: Identificação de um paciente
Nome: nome do paciente
NFICHA= número da ficha de atendimento
Data: Data do atendimento
Tipo de ficha: Classificação da ficha que podem ir de 1 a 8

Preciso criar uma nova coluna com a diferença entre o atendimento mais recente e o último atendimento de um mesmo paciente, quando o tipo de ficha for 8

Não estou conseguindo restringir o cálculo por paciente, ele considera apenas a ultima linha

image.png.8e62c289d64df37d68adba39c8209085.png

Não sei se vai atender a todo e qualquer caso, mas segue um exemplo utilizando essa sua base de ex.

 

Exemplo.pbix

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