Apúntate a la Zona De Descargas Reservadas (ZDDR). Solo son 20 Euros
Con solo 20€ ayudarás
a mantener el foro.
Usace, solo opinion


Seguir a udias en Twitter
Directorio de Empresas de Foros de informática


Todo lo que sueñas, se puede diseñar.
We build your dreams.

 - Principal - Responder - Estadísticas - Registrarse - Buscar - Lista de usuarios -  - Zona de Descargas
 -
Ayuda al foro con tu donación
Foros en Udias.com / FileMaker / CAMPO CON VALOR CALCULADO SEGÚN DIFERENCIA DE FECHAS
Autor Mensaje

Miembro

Habitual

  Karma       52

#1 Publicado: 14 May 2015 16:35



Buenas tardes:

Necesitaría hacer un cálculo que, en teoría debe ser sencillo, pero por más vueltas que le doy, no lo consigo.

Tengo una tabla ("consultas") relacionada con otra ("facturación) a través de un campo ("Nº Historia"). En esta tabla facturación hay un campo que se llama "Acto", que puede tener los valores "consulta" o "revisión". Un mismo paciente puede tener varios consultas. Lo que intento hacer es que, si el paciente acude por segunda vez a consulta en menos de 30 días, en la tabla Facturación me debe aparecer el valor "revisión", mientras que si la sucesiva consulta es posterior al mes, me debe aparecer el valor "consulta". Esto mismo sirve para sucesivas visitas.

Estoy intentando que sea un campo con valor calculado en el que se resten las fechas de las dos consultas, pero no veo la forma de hacerlo ni sé si es lo más correcto.

Muchas gracias por vuestra ayuda.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced

Moderador

Adicto

  Karma             730

#2 Publicado: 15 May 2015 08:14



Creo que sería así.

Crea el campo calculado en Facturación con esto:

Case (
consultas::fecha - get ( Currentdate) >30; "Consulta";
"Revisión"
)

Un saludo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Miembro

Habitual

  Karma       52

#3 Publicado: 18 May 2015 09:21



Efectivamente, con este calculo, si la consulta es <30 días aparece el valor "revisión", pero si introduzco un nuevo registro también aparece ese valor en el campo (cuando debería aparecer "consulta"). Os escribo el campo calculado, a ver si me podéis decir que esta mal:

Case (consultas::fecha consulta - get (CurrentDate) > 30;"consulta";"revisión"

Muchas gracias


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced

Moderador

Adicto

  Karma             730

#4 Publicado: 18 May 2015 11:25



Prueba con paréntesis haber si te va:

Case ( (consultas::fecha consulta - get (CurrentDate) )> 30;"consulta";"revisión" )


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Miembro

Habitual

  Karma       52

#5 Publicado: 18 May 2015 12:11



Hola de nuevo. Tampoco va así. Efectivamente, si hace menos de 30 días, aparece "revisión", y con mas de 30 días "consulta". Sin embargo, si es la primera vez que viene, debería aparecer "consulta", mientras que lo que aparece es "revisión"

¿Cómo podría solucionarlo?

Muchas gracias de nuevo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced

Moderador

Adicto

  Karma             730

#6 Publicado: 18 May 2015 12:19



Prueba con esto:

Case (
((consultas::fecha consulta - get (CurrentDate) )> 30;"consulta") and not Isempty(consultas::fecha consulta);"revisión" ;
"consulta"
)


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Moderador

Adicto

  Karma             730

#7 Publicado: 18 May 2015 12:22



Disculpa se me fué el dedo:

Prueba con esto:

Case (
((consultas::fecha consulta - get (CurrentDate) )> 30 and not Isempty(consultas::fecha consulta);"consulta") ;"revisión" ;
"consulta"
)


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Miembro

Habitual

  Karma       52

#8 Publicado: 18 May 2015 15:11



Hola, soportetimeaction. Me aparece este mensaje:

Hay más ")" que "(", o bien hay más "(" que ")".

Estoy dejándome los ojos, pero no veo que sobren paréntesis. Me he quedado estancado.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced

Moderador

Adicto

  Karma             730

#9 Publicado: 18 May 2015 15:40



Si, disculpa, prueba otra vez con esto:

Case (
(consultas::fecha consulta - get (CurrentDate) )> 30 and not Isempty(consultas::fecha consulta);"consulta" ;"revisión" ;
"consulta"
)

haber si no hay más gazapos.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Miembro

Habitual

  Karma       52

#10 Publicado: 18 May 2015 16:19



Aaaaaarrrghhhhhhh !!!!!

Ahora, con ese valor calculado, no me sale ni consulta ni revisión ni ná de ná. Campo en blanco.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced

Moderador

Adicto

  Karma             1023

#11 Publicado: 18 May 2015 18:16



Prueba con la misma fórmula pero cambiando el orden de los campos:

If (
(get (CurrentDate) - consultas::fecha consulta )> 30 and not Isempty(consultas::fecha consulta);"consulta" ;"revisión")


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Windows 8 y Filemaker 11

Miembro

Habitual

  Karma       52

#12 Publicado: 18 May 2015 18:33



Que va, JotaEme. Cumple a la perfección la orden temporal, de tal forma que si han pasado menos de 30 días aparece revisión. Sin embargo, a los pacientes nuevos (es decir, la primera vez que vienen a la consulta y, por tanto, la primera vez que se introducen en un registro) también les aparece "revisión".
El campo fecha siempre está relleno (es la fecha actual). Creo que el problema puede estar en que, si es la primera vez que se crea el registro, no hay fechas para restar, por tanto no se cumple la parte de la fórmula get (currentdate) - consultas::fecha consultas.

Estoy bloqueado.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced

Moderador

Adicto

  Karma             730

#13 Publicado: 18 May 2015 19:12



Fuerza a que el campo fecha tome el valor get(currentdate) así si tendrá contenido.

Pónselo en Valor calculado en el campo y desmarca el check de debajo.

haber si ya vamos pa lante..


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Miembro

Habitual

  Karma       52

#14 Publicado: 19 May 2015 09:20



Buenos días.

Tampoco va así. Hago que el campo fecha consulta se calcule mediante get (CurrentDate), con lo que la fecha de consulta es la fecha de hoy. Sin embargo, ocurre lo mismo, al introducir un nuevo registro (un paciente que hoy es su primer día de consulta), el campo "tipo de acto" de la tabla facturación vuelve a mostrar el valor "revisión".


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced

Miembro

Habitual

  Karma       52

#15 Publicado: 19 May 2015 17:28



Hola de nuevo,

Sigo quemando neuronas con esto, y creo que una posibilidad es que el error esté en que, si el campo fecha consulta es la fecha de hoy, al restar mediante get (CurrentDate) - fecha de consultas el resultado siempre es el mismo.
¿Cuál podría ser una fórmula para restar la fecha de hoy a la fecha de la anterior consulta (cada consulta es un registro) y, si es < 30 días aparezca en el campo tipo de acto "consulta" y si es más de 30 días apareza la palabra "revisión"?

Muchas gracias por enésima vez por vuestra colaboración y vuestra comprensión.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced

Miembro

Constante

  Karma           366

#16 Publicado: 19 May 2015 22:01



Mira este archivo con un guion de calculo. que activa al introducir la fecha actual

revisionconsulta.fmp.Archivo adjunto: revisionconsulta.fmp.
 

Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
MacOSX / W10 / FM13

Moderador

Adicto

  Karma             730

#17 Publicado: 19 May 2015 22:14



Creo que ya lo he entendido:

1º tu tienes un cliente que llega la primera vez, por tanto no existe una ficha anterior por tanto es "consulta"

2º Ahora ese cliente viene una segunda vez y se crea una nueva ficha. Si la fecha de alta de esta nueva ficha es < 30 con respecto a la ficha anterior entonces es una "revisión".

3º Si es superior es de nuevo "consulta".

Bien, creo que lo puedes solucionar con una consulta ExecuteSQL o con una relación. Opto por la relación que creo que será más sencillo para ti.

1º Crea una relación de la tabla consigo misma enlazada por cliente y ordenada por fecha descendente para que la última fecha sea la primera de la lista.

2º Crea un campo con el contenido inicial que tome la fecha de la última consulta a través de la relación creada. Llamemosle FechaConsultaAnterior

3º Ahora ya puedes hacer el case del que hemos estado hablando.

Case (
(consultas::FechaConsultaAnterior - get (CurrentDate) )> 30) or IsEmpty(consultas::FechaConsultaAnterior) ;"consulta" ;"revisión" ;
"consulta"
)

El empty nos vale para saber si es o no la primera consulta, si está vacía querrá decir que no existe una ficha anterior.

Haber si ya damos con el tema.

Un saludo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Moderador

Adicto

  Karma             730

#18 Publicado: 19 May 2015 22:18



Disculpa hay un pequeño error en el case:

Case (
(consultas::FechaConsultaAnterior - get (CurrentDate) )> 30) or IsEmpty(consultas::FechaConsultaAnterior) ;"consulta" ;"revisión"
)


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Miembro

Constante

  Karma           240

#19 Publicado: 20 May 2015 00:06



No sé si esto te puede valer, pero no pierdes nada por echarle un vistazo.

Consultarevision.fmp.zipArchivo adjunto: Consultarevision.fmp.zip
 

Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Siempre agradecido por vuestra inestimable ayuda. Mac OSX

Miembro

Habitual

  Karma       52

#20 Publicado: 20 May 2015 14:00



Hola, de nuevo. La cosa va mejor, pero me teneis que perdonar mi torpeza supina:

1º Crea una relación de la tabla consigo misma enlazada por cliente y ordenada por fecha descendente para que la última fecha sea la primera de la lista.

Hecho, sin problemas.

2º Crea un campo con el contenido inicial que tome la fecha de la última consulta a través de la relación creada. Llamemosle FechaConsultaAnterior

Aquí está la duda. Si le digo que el campo calculado FechaConsultaAnterior es el valor del campo fechaconsulta, lo que me coge es la fecha de hoy, ya que el campo fechaconsulta es un campo calculado get (CurrentDate). De este modo, no sé como especificarle al campo FechaConsultaAnterior que coja solamente la última consulta de ese paciente relacionado.

3º Ahora ya puedes hacer el case del que hemos estado hablando.
Case (
(consultas::FechaConsultaAnterior - get (CurrentDate) )> 30) or IsEmpty(consultas::FechaConsultaAnterior) ;"consulta" ;"revisión"
)

Sobra el paréntesis justo previo al signo >. Por lo demás, hecho esperando vuestra ayuda.

Muchas gracias again


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced

Moderador

Adicto

  Karma             730

#21 Publicado: 20 May 2015 18:35



Ya veo cual es el problema, no he tenido en cuenta que al dar de alta la nueva ficha esa ya es la última y necesitamos justo la anterior.

Creo que se solucionará añadiendo a la relación que ya tienes Fecha Distinta Fecha, así eliminaría de la lista (no la borra) la última ficha, que es justo en la que estas y como es lógico la fecha siempre será la misma. Por eso buscamos la que sea distinta.

La fecha consultas::FechaConsultaAnterior, realmente no vale, fué un intento fallido, disculpa. Pero hasta que esto no se resuelva no la borres por si tenemos que tomar otra vía.

Ya me cuentas.

Si esto no lo resuelve así te propongo verlo directamente por Skype si quieres.

Un saludo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Miembro

Habitual

  Karma       52

#22 Publicado: 21 May 2015 15:54



Veo claro lo que me dices, soportetimeaction:

Ya tengo autorelacionada la tabla consultas, enlazada por historia clínica (es la relación que tengo establecida entre todas las tablas) y ordenada. Del mismo modo, el campo "fecha" en la tabla Consulta2 no es igual al campo "fecha" en la tabla consulta 1.

Ahora voy al campo "tipo de acto" en la tabla facturación, y lo hago con valor calculado mediante el Case, sustituyendo Consultas::fechaconsultaanterior por consultas2::fechaconsulta, quedando tal que así:

Case ((consultas2::fecha consulta - Get (Currentdate)>30 ) orIsEmpty (Consultas2::fechaconsulta);"Consulta";"Revisión"

El campo Fechaconsultaanterior no lo utilizo, de momento, tal como has mencionado.

Teóricamente debería ir, pero no me debe hacer bien la relación cuando, tanto si es el primer registro que se rellena de ese paciente, como si es el 2º en < 30 días, el campo "tipo de acto" toma el valor "CONSULTA".

Decidme si todo lo que he hecho es correcto o, como es probable, he metido la pata en algo.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced

Moderador

Adicto

  Karma             730

#23 Publicado: 21 May 2015 16:34



Hola dsanchezm

Decir que no me gusta enviar ficheros porque se aprende mucho menos que con sugerencias y quebrándose uno mismo la cabeza

Pero creo que sino no acabaríamos este tema en la vida

Te adjunto un fichero con la solución tiene solo una tabla, la de consultas. Obviamente el dato de la tabla de facturación de si es de revisión o consulta lo debes tomar de la tabla consultas que te he creado bien como cálculo bien como contenido inicial del campo correspondiente.

Un saludo

Consultas.fmp12Archivo adjunto: Consultas.fmp12
 

Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Miembro

Habitual

  Karma       52

#24 Publicado: 21 May 2015 17:03



Debo ser el tío más pesado del foro....

No puedo abrir archivo fmp12. Tiene que ser fp7. He buscado y no veo opción de pasar de uno a otro (de fp7 a fmp12 si pero no al contrario)

Lo siento..


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced

Moderador

Adicto

  Karma             730

#25 Publicado: 21 May 2015 18:46



Pues lo llevamos crudo.

No se puede pasar un fmp7 a un fmp12 y yo no tengo FM11. Así que o nos conectamos por otra vía o no sé como vamos a resolver esto.

Ponme un mensaje privado con tu email y vemos como hacerlo.

Es una pena porque lo tienes resuelto en el fichero.

Se me ocurre que te descargues la versión de prueba del 14 y la habras con ella y ves como está hecho.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Miembro

Habitual

  Karma       52

#26 Publicado: 21 May 2015 19:05



Ok. Probaré como dices con la versión de prueba de fm14 y digo algo.

Muchísimas gracias. Vuestro interés en responder con la rapidez que lo haceis y con el apoyo que dais hace que el foro sea magnífico para novatos y torpes con FM como yo.

Os mantengo informados.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced

Miembro

Constante

  Karma           240

#27 Publicado: 21 May 2015 19:39



Soporte, hay algo erróneo en el cálculo. Entre el 1-4-2015 y 2-5-2015 hay 31 días y lo marca como revisión, no como consulta.




Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Siempre agradecido por vuestra inestimable ayuda. Mac OSX

Moderador

Adicto

  Karma             730

#28 Publicado: 22 May 2015 00:02



Cachulo es un lujo, veo que te trabajas mucho lo que pones.

Es correcto, cuando pasa de 30 días ya dejaría de ser revisión y vuelve a ser consulta. Solo es revisión si son menos de 30 días desde la última consulta.

Un saludo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
El más tonto es aquel que no pregunta por no quedar como un tonto. Mac y Filemaker 13 pro advance

Miembro

Habitual

  Karma       52

#29 Publicado: 24 May 2015 22:03



Buenas noches.

Ya he podido comprobar vuestros archivos con versión de prueba de FM14. Tanto el archivo de Harry23459 como el de cachulo2008 funcionan perfectamente y es con lo que estaba partiéndome la cabeza. Voy a intentar adaptarlo a mi base de datos y cambiarle el diseño y os lo cuento.

Soportetimeaction, tal como dice cachulo2008, hay un error en el cálculo, ya que aparece "revisión" con > 30 días de diferencia. Además, veo otro problema añadido, que es que tal y como está, coge como fecha anterior la primera que se produce, me explico, si un paciente ha venido el 11/02, luego el 19/02 y luego el 23/04, la secuencia sería: CONSULTA, REVISIÓN, CONSULTA. Sin embargo, hace el cálculo respecto a la primera fecha.

Por supuesto, os agradezco sobremanera vuestra colaboración e interés. No os preocupéis, que seguiré preguntando dudas, que surgirán por miles.

Votos para todos


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced

Miembro

Habitual

  Karma       52

#30 Publicado: 26 May 2015 13:23



Hola de nuevo,

Al final se consiguió resolver el asunto de que apareciera "consulta" o "revisión" de una forma más simple:

En la tabla "consultas", creé un campo "Diferencia Fechas", que es un campo calculado "fecha consulta actual" - "fecha consulta anterior". Del mismo modo, el campo "Tipo de acto" es un campo calculado en función del campo "diferencia fechas", de tal forma que si es > 30 días le da el valor "consulta" y si es < 30 días le da el valor "revisión. Todo esto lanzado mediante un guión.

Ahora viene un problema secundario: el campo "fecha consulta anterior" se obtiene mediante una autorrelación de la tabla "consultas" con ella misma, relacionadas mediante ID paciente ("nº historia") y ordenadas por fecha. El problema es que quiero que me seleccione la última fecha de visita, y de la forma en que lo tengo solamente me coge la primera visita que el paciente tuvo, con lo que el cálculo de diferencia de fechas no es correcto.

Tengo un portal en el que aparecen las fechas de visita y he intentado hacerlo por aquí, con un guión que ordene "ir a fila de portal anterior", pero no lo he conseguido.

No sé si es correcto abrir un nuevo hilo. Ya me decís. Muchas gracias de nuevo


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Mac Os X. FM11 pro advanced
Su respuesta

Estilo Negrillas  Estilo Italico  Estilo Subrayado  URL De La Imagen  URL De La Web  Preformatted Text  YouTube URL  Sin código BB
Emoticones
:) ;) :up: :down: :biglol: :confused :cool: :mad: :sad: :shame: :smirk: :tongue: ... Más  Emoticones desactivados
Color de texto
Texto en negro Texto en blanco Texto en gris Texto en rojo Texto en azul Texto en verde Texto en rojo oscuro Texto en cian Texto en azul oscuro Texto en púrpura Texto en amarillo Texto en rosa Texto en naranja Texto en verde oliva Texto en marrón



 » Usuario  » Contraseña 
Solo Usuarios Registrados Pueden Postiar Aqui.
 

Tópicos relacionados con CAMPO CON VALOR CALCULADO SEGÚN DIFERENCIA DE FECHAS

Problema con campo calculado de fechas
cambio de color en un campo calculado, segun condicion de otro campo
valor calculado - campo calculo
Campo hora. Valor calculado
campo calculado con valor unico


Conectados: Invitados - 15
Miembros - 0
En verde usuarios ZDDR

Realizado con miniBB © 2001-2017
Para Udias.com © 1996-2017
Hosting con Interdominios