Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
yaguilej
Contributor II
Contributor II

Restar entre dos fechas discriminando si no existe una de ellas

Hola, necesito restar entre dos fechas (Fecha entrega-Fecha aceptación)pero  quiero no lo haga cuando no exista una de las dos fechas, ya que en algunos casos es un dato vacío.

Gracias

4 Replies
Luis_Calvo
Contributor III
Contributor III

Hola, puedes intentar esto en la expresión de medida:

IF(IsNull([Fecha aceptación]) or IsNull([Fecha Entrega]),'N/A',[Fecha aceptación]-[Fecha Entrega])

Te traería 'N/A' en cambio de nulo en los casos que no aplique el calculo, se vería algo así:

 

Screenshot_1.png

Espero te sirva 

Saludos

 

DiegoR
Contributor II
Contributor II

Hola. Puedes probar con algo como esto:

IF(Fecha aceptacion ISNOT NULL, (Fecha entrega-Fecha aceptacion), Fecha
entrega)

o también:

IF(Fecha aceptacion = '', (Fecha entrega-Fecha aceptacion), Fecha entrega)
jmmayoral3
Creator
Creator

Hola Yaguilej.

La verdad es que no entiendo bien tu pregunta.

Ni QlikView ni Qlik Sense hacen la resta si una de las dos fechas no existe. No tendrías que hacer nada porque es el funcionamiento por defecto.

Si en la tabla que muestras las fechas sólo tienes las columnas Fecha_Entrega, Fecha_Aceptacion y Fecha_Aceptacion-Fecha_Entrega, los registros que tengan una de las 2 fechas vacías no aparecerán en la tabla.

En cambio, si  a esa tabla la añades una columna más que esté rellena en todas las filas, como por ejemplo el ID, entonces si te aparecerán todas las filas pero en las columnas que no tengan valor en la fecha te pintará un nulo.

hector_munoz
Specialist
Specialist

Hola Yaguilej,

Yo suelo usar la función Len() para comprobar si un campo está informado ya que me sirve para descartar nulos o vacíos. Entonces, en tu caso, una posible solución sería:

If(Len(Fecha1) > 0 AND Len(Fecha2) > 0, Fecha2 - Fecha1, Null())    AS [Tiempo Transcurrido]

Espero que te sirva.

Saludos,
Héctor