Ir para conteúdo
  • 0

Diferença entre datas


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

Pergunta

  • Alunos

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
  • Admin
  • 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
  • Alunos

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
  • Alunos
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
  • Alunos
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

Faça login para comentar

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



Entrar Agora
×
×
  • Criar Novo...