Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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.
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.
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!
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
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
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