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,
Si tienes seleccionadas un grupo de fechas u otro dato que filtre las fechas deseadas, debería funcionar con:
- Max(Fecha)
- Min(Fecha)
Si no funciona, puedes intentar transformar las fechas a números, hacer los cálculos y volver a transformar.
Saludos,
Hola Enrique,
pues sinceramente no hago más que darle vueltas a la cabeza porque me sigue pasando lo mismo.
Si selecciono dias o horas intercaladas ( Ej: Dias: 3, 7 y 10 ) lo que la resta hace es darme el valor desde el dia 3 hasta el dia 10.
Resta el valor del dia 10 menos el del dia 3 y esto no es correcto. Debería de hacer varias restas dependiendo de los días seleccionados.
Un saludo y gracias.
Hola Alexis,
Quizás debas buscar el máximo sobre el agregado en tu tabla, por ejemplo:
Sum(Energia) - Max(TOTAL Aggr(Sum(Energia),UCTDate))
Te adjunto un ejemplo que creo que se aproxima a lo que buscas.
La tabla tiene tres campos UCTDate, UCTDatetime, Energia.
Ya me cuentas.
Un saludo.
Hola Alex, muchas gracias por tu ayuda.
Estoy probando como dices, pero realmente la fórmula no calcula la energía que tengo, ya que yo hago Max-Min y así obtengo el dato debido a que la energía aumenta progresivamente.
(Max({$<SMedida={"RealEnrkWh"}>}Energia)-Min({$<SMedida={"RealEnrkWh"},ActualValue{">0"}>}Energia)))
Sum({<SMedida={"RealEnrkWh"},UTCDateTime={$(=max((UTCDateTime)))}>} ActualValue)-Sum({<SMedida={"RealEnrkWh"},UTCDateTime={$(=min((UTCDateTime)))}>} ActualValue))
Pruebo con estas 2 fórmulas pero aunque añada "Aggr()" no calcula bien el valor.
Un saludo y gracias.
Quizás no te he entendido bien, ¿Calculas cada día la diferencia entre el máximo y el mínimo de ese día?
Si es así: Aggr(Max(Energia),UCTDate) - Aggr(Min(Energia),UCTDate)
Te vuelvo a subir el ejemplo con el cambio por si te da alguna pista.
Un saludo
Como nueva pista,
poniendo en caso de que selecciones cada día y busques la diferencia entre la energía máxima y mínima cada día (llamémoslo diferencial de energía),
si después quieres comparar el diferencia de energía de cada día seleccionado contra el diferencial del día en que este diferencia fue mayor, entiendo que la expresión debería ser cercana a:
= Aggr(Max(Energia),UCTDate) - Aggr(Min(Energia),UCTDate) - Max(TOTAL Aggr(Aggr(Max(Energia),UCTDate) - Aggr(Min(Energia),UCTDate),UCTDate))
Si en cambio quieres hacer la comparación no con el diferencial más alto, sino con el diferencial de la fecha mayor, entiendo que deberías hacerlo con una expresión del tipo SET como estabas haciendo.
Ya me dirás.
Gracias Alex.
Pero no me funciona.
Al tener más medidores, lo agrupo también por medidor y me sale el valor, pero al coger dias no consecutivos me sigue sin funcionar.
No se qué hacer ya.
Un saludo.
Siempre que te sea posible, podrías subir la aplicación con unos datos de muestra.
Quizás viendo las dimensiones que entran en juego y la estructura de datos, te podríamos echar una manilla.
En este post puse un caso que podrias utilizar los datos, aunque ahí no son valores que van incrementando como los tengo aquí.
Gracias y un saludo.