Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Amigos.
Tengo la siguiente duda. Tengo un archivo en donde en una columna llamada "Periodo" tengo campos que definen Año-Mes, de este tipo: "2017-01", "2017-02", etc. y tengo otra columna llamada "REAL CLP".
Lo que quiero hacer es sumar solo el total de los valores donde cuyo año corresponda a 2017.
He tratado de muchas formas pero no he llegado al resultado deseado.
Perdón por la duda tan elemental, pero soy principiante en QlikView.
Muchas Gracias
Hola Juan,
Bienvenido antes que nada! Prueba con una expresión como:
Sum(If(Left([Año-Mes], 4) = 2017, [REAL CLP], 0))
Saludos!
Buenas Juan,
La solución que propone Héctor es correcta pero si tienes un volumen grande de datos no es la que mejor rendimiento da porque tienes que aplicar el "IF" y "LEFT" a todos los registros cada vez que se actualizar el gráfico.
Para un mejor rendimiento prueba a hacerlo así:
En el script de carga crea un campo que valga "1" cuando el registro cumple tu condición y "0" en caso contrario. A este tipo de campos se les suele llamar "flag":
[TABLA]:
LOAD ..
[Año-Mes],
[REAL CLP],
If(Left([Año-Mes], 4) = 2017, 1, 0) as FlagAño
....
En el gráfico usa la expresión: Sum([REAL CLP] * FlagAño)
También puedes usar esta otra expresión que usa análisis de conjuntos (Set analysis): Sum({<FlagAño={1}>} [REAL CLP])
De esta manera estás quitando peso a la hora de calcular el gráfico.
Un saludo!