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
ecolomer
Master II
Master II

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,

alexis_garcia
Creator II
Creator II
Author

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.

alex_millan
Creator III
Creator III

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.

alexis_garcia
Creator II
Creator II
Author

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.

alex_millan
Creator III
Creator III

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

alex_millan
Creator III
Creator III

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.

alexis_garcia
Creator II
Creator II
Author

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.

alex_millan
Creator III
Creator III

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.

alexis_garcia
Creator II
Creator II
Author

En este post puse un caso que podrias utilizar los datos, aunque ahí no son valores que van incrementando como los tengo aquí.

Usar los datos seleccionados

Gracias y un saludo.