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: 
alexis_garcia
Creator II
Creator II

Resta de valor de fecha máxima menos mínima

Hola, tengo un problema que no se me ocurre cómo poder solucionarlo.

Utilizo la siguiente expresión para calcular la energía del periodo seleccionado, ya que la energía es acumulativa y hay k hacer la resta entre la fecha máxima y la mínima.

Sum({<UTCDateTime={$(=max((UTCDateTime)))}>} Energía)-Sum({<UTCDateTime={$(=min((UTCDateTime)))}>} Energía))

Pero me he encontrado con el problema de que si selecciono por ejemplo 2 días que no sean correlativos (  ej: 2 y 9 ya que quiero comparar el mismo día de la semana) no hace bien la resta que quiero, ya que quiero restar la máxima fecha menos la mínima de cada día y sumarlas.

Con las horas me pasa lo mismo.

Cómo podría hacer esto?

Os lo agradecería mucho.

Un saludo y gracias.

25 Replies
alexis_garcia
Creator II
Creator II
Author

Hola Alex, gracias por tu ayuda.

Realmente en tu ejemplo funciona, pero lo adapto al mío y no funciona. Sinceramente no se de donde viene el problema y no es puedo poner un ejemplo con mis datos reales ya que vienen de grandes bases de datos.

Un saludo y gracias.

alexis_garcia
Creator II
Creator II
Author

Hola Gabriel, gracias por tu ayuda.

Si, ya lo manejo por día de la semana y puedo comparar lunes con lunes, martes con martes y así sucesivamente, el problema viene cuando cojo días salteados ( ej: todos los lunes de este mes para compararlos con el mes anterior..... )

Se ve que no agrupa bien las fechas y lo que coge es el máximo del último día y el mínimo del primer día, con lo que hace la resta del valor correspondiente a todos los días, no a los seleccionados que son salteados.

Un saludo y gracias.

alex_millan
Creator III
Creator III

Pues lamento no poder ayudarte entonces.

De todas maneras, dependiendo de los datos que manejes, igual podrías enviar un sample del proyecto con una carga limitada de datos (por ejemplo mediante el debug, limitando el número de registros) o acotando la carga en las sentencias de consulta a tus bases de datos.

Cualquier cosa, por aquí estamos.

Un saludo!

gabriel_as
Contributor III
Contributor III

Entiendo, se me ocurre que ahora agregues en la consulta lo mismo pero con una letra, ej B y ahora que tienes los datos semana-dia y semana-diaB selecciones, por ejemplo los lunes en ambos campos y los muestres en una tabla que te de los incrementos, esto es en semana-dia seleccionas 31-lu. 32lu. 33lu. 34lu. y 35lu, que son los lunes de agosto de 2014. y en semana-dia seleccionas 36lu. 37lu. 38lu. 39lu. y 40lu, que son los lunes de septiembre, en la tabla tendrás la suma de semana-dia y semana-diaB, entonces sacas incremento.

la consulta completa quedaría

//semana-dia

LOAD

  year(UTCDateTime)&'-'&Month(UTCDateTime) as MesAño,

  Day(UTCDateTime)&'/'&Month(UTCDateTime)&'/'&Year(UTCDateTime) as FechaC,

  week(UTCDateTime)&'-'&Date(DayName(UTCDateTime),'www') as [semana-dia],

  UTCDateTime AS fecha,

  month(UTCDateTime) as Mes,

  week(UTCDateTime) as semana,

  day(UTCDateTime) as dia,

  Year(UTCDateTime) as Año,

  Hour(UTCDateTime) as Hora,

  Date(DayName(UTCDateTime),'www') as diaN,

  Energia as ELunes

;

SELECT

  UTCDateTime,

  Energia

FROM <TU_TABLA>

WHERE DATENAME([weekday], hora_embarque)  = 'Lunes';

//semana-diaB

LOAD

  year(UTCDateTime)&'-'&Month(UTCDateTime) as MesAñoB,

  Day(UTCDateTime)&'/'&Month(UTCDateTime)&'/'&Year(UTCDateTime) as FechaCB,

  week(UTCDateTime)&'-'&Date(DayName(UTCDateTime),'www') as [semana-diaB],

  UTCDateTime AS fechaB,

  month(UTCDateTime) as MesB,

  week(UTCDateTime) as semanaB,

  day(UTCDateTime) as diaB,

  Year(UTCDateTime) as AñoB,

  Hour(UTCDateTime) as HoraB,

  Date(DayName(UTCDateTime),'www') as diaNB,

  Energia as ELunesB

;

SELECT

  UTCDateTime,

  Energia

FROM <TU_TABLA>

WHERE DATENAME([weekday], hora_embarque)  = 'Lunes';

Ahora si a sacar los incrementos que quieras y gustes, salteados de mes vs mes, semana vs semana etc.

Saludos

gabriel_as
Contributor III
Contributor III

Lo mas difícil siempre sera saber que es lo que quiere uno, una vez que sabes que quieres siempre habrá mas de una forma de como lograrlo, lo malo que encuentro en ClickView es que casi todo hay que hacerlo en el Script y pocas cosas en la presentación.

Saludos

gabriel_as
Contributor III
Contributor III

Que tal Alexis, si ya lograste resolver con alguna sugerencia marca tu pregunta como resuelta, para los que vienen atrás sepan como resolver.

Saludos