Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
alexis_garcia
Creator II
Creator II

Comparar día seleccionado con el mismo día hace una semana

Hola, estoy intentando de todas las formas posibles con Set Analysis de poder comparar el día que yo seleccione con el mismo día de la semana anterior ( hace 7 días ) y no lo consigo.

Tengo:

Day(FECHA) as Dia

y lo uso en Set analysis:

Sum({$<Dia={$(=Day(Dia)-7)}>}ActualValue)

Sum({$<Dia={$(=Day(Dia-7))}>}ActualValue)

Sum({$<Dia={"$(=Day(Dia-7))"}>}ActualValue)

......


No sé lo que me está fallando.


Alguna solución?


Un saludo y gracias.


16 Replies
alexis_garcia
Creator II
Creator II
Author

Si pongo:

sum({$<Day={$(=Max(Day))}>}ActualValue) , sin restar los 7 días sí que me da datos, que son los mismos que Sum(ActualValue), pero si le resto algún día ya no funciona.


JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Quita la función MAX

El campo Day tiene formato DD/MM/YYYY o numérico ?

alexis_garcia
Creator II
Creator II
Author

Formateo los campos de UTCDateTime que es numérico en:

Year, Month,....

Day(UTCDateTime) as Dia, con lo que entiendo que es numérico no?

He probado con Num(Dia)-7 en la variable y tampoco funciona.

He quitado Max() y sigue sin salir si le resto algún día.

Gracias.

Un saludo.

alexis_garcia
Creator II
Creator II
Author

He conseguido que me de el dato correcto:

Dimensión: Hour(UTCDateTime)&':'&Minute(UTCDateTime)

Expresión: sum({$<Dia={$(=max(Dia-7))}>}ActualValue)

Así consigo:

  

Consigo cuadrar el día seleccionado con el mismo día de la semana anterior.

Pero el problema es que cuando selecciono los días del 1 al 7 no me da los datos, debido a que al hacer la resta sale negativo.

Cómo lo podría hacer?

Un saludo y gracias.

alexis_garcia
Creator II
Creator II
Author

Por fin he conseguido solucionarlo, hay que trabajar con la fecha numérica, para poder pasar entre meses o años y que la resta de días sea correcta.

Actual:     Sum(ActualValue)

Anterior:   Sum({$<Dia={$(=Day(max(UTCDateTime-7)))}>}ActualValue)

Solo me queda un pequeño problema y es que haciendo lo que comentaba:

Si selecciono por ejemplo ( mes=feb y día=2), no me saca los datos porque estoy seleccionando mes=feb y los datos de la semana anterior son de enero.

Si selecciono por ejemplo ( día=2 y no selecciono el mes ) saca los datos pero acumula en "Actual" los datos de dicho día pero de los 2 meses ( ene y feb).

Cómo podría solucionar eso?

Un saludo.

JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

No lo veo claro, pero ánimo ya casi lo tienes

alexis_garcia
Creator II
Creator II
Author

Solucionadoooooo!

Dimensión:   Hour(UTCDateTime)&':'&Minute(UTCDateTime)

Expresiones:

Actual:     sum({$<Dia={$(=Day(Date(max(UTCDateTime))))}>}ActualValue)

Anterior:   sum({$<SMedida={"TotalRealPwr"},Dia={$(=Day(Date(max(UTCDateTime-7))))}>}ActualValue)

Y así sin tener que seleccionar el mes, seleccionando el día, tendremos solucionado lo del mes.

Un saludo y gracias por el apoyo.