Buenos días:
Estoy intentado crear un campo calculado entre fechas para un informe con Datediff, pero no logro dar con la sintaxis correcta.
Se trata de mostrar el número de días transcurridos desde una fecha de alta hasta una fecha de baja o fecha actual pero condicionado a que exista fecha de baja, es decir,
SI existe fecha de baja será Datedif([fecha_baja],[fecha_alta],"d"), pero si no hay aún fecha de baja el número de días serán hasta la fecha actual Datedif([fecha_alta],DATE,"d")
¿cómo haría esto en una sola fórmula para un informe?
Saludos y gracias.
[RESUELTO] DATEDIFF condicionado
[RESUELTO] DATEDIFF condicionado
Última edición por pmartimor el Mar Nov 27, 2018 2:15 pm, editado 1 vez en total.
LibreOffice 5.1.0.3 en clientes Windows 10, 7, XP sobre BD MySql.
Re: DATEDIFF condicionado
Hola,
Prueba con algo así.
CASE WHEN "fecha baja" ES VACIO THEN datedif con fecha actual ELSE datedif con fecha baja END
Saludos
Prueba con algo así.
CASE WHEN "fecha baja" ES VACIO THEN datedif con fecha actual ELSE datedif con fecha baja END
Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Re: DATEDIFF condicionado
Gracias RMG
La sentencia CASE no me va en el OpenOffice 4.1.5, ya que quiero utilizarla en el propio informe.
Lo que he hecho y funciona es utilizar IF en el Campo/Formula de las propiedades de ese campo calculado a mostrar en el informe
=IF(DATEDIF([FECHA_BAJA];[FECHA_ALTA];"d")<0;DATEDIF([FECHA_BAJA];[FECHA_ALTA];"d")*(-1)+1;DATEDIF([FECHA_BAJA];[FECHA_ALTA];"d")+1)
Lo que trato de calcular es el tiempo de alta en días por eso le sumo uno si el alta y la baja es el mismo día pues la fórmula da cero en este caso.
Saludos.
La sentencia CASE no me va en el OpenOffice 4.1.5, ya que quiero utilizarla en el propio informe.
Lo que he hecho y funciona es utilizar IF en el Campo/Formula de las propiedades de ese campo calculado a mostrar en el informe
=IF(DATEDIF([FECHA_BAJA];[FECHA_ALTA];"d")<0;DATEDIF([FECHA_BAJA];[FECHA_ALTA];"d")*(-1)+1;DATEDIF([FECHA_BAJA];[FECHA_ALTA];"d")+1)
Lo que trato de calcular es el tiempo de alta en días por eso le sumo uno si el alta y la baja es el mismo día pues la fórmula da cero en este caso.
Saludos.
LibreOffice 5.1.0.3 en clientes Windows 10, 7, XP sobre BD MySql.