Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Borisato
Contributor
Contributor

MOSTRAR MESES MAYOR E IGUAL AL SELECCIONADO

Estimados,

Necesito mostrar en un tabla pivotante los valores mayores al mes seleccionado, es decir, si selecciono septiembre deberá mostrar  solamente septiembre, octubre, noviembre y diciembre y en la columna del mes seleccionado (septiembre) el acumulado de enero al mes seleccionado (septiembre).

Agradezco su colaboración.

 

1 Reply
ignacioroman
Contributor II
Contributor II

Debes cargar una dimensión tiempo auxiliar. Me explico:

Cargas tu base de datos, asumamos la siguiente:

Datos:

Load

Ventas

Fecha,

month(Fecha) as mes,

year (Fecha) as año (si es que tienes info de más de un año)

from base

 

Luego cargas otra tabla:

Dim_tiempo_aux (la puedes cargar desde un excel, o construirla en el script de qlikview, te explico cómo al final de esta respuesta):

Load

Date as [Fecha aux],

month(Date) as [mes aux],

year (Date) as [año aux] (si es que tienes info de más de un año)

 

Luego, deberás crear 2 tablas pivotantes

1 Acumulado hasta fecha seleccionada:

sum(if([año aux] <=año and [mes aux]<=mes,Ventas,0)). A esta tabla NO le pones la dimensión mes, ni año, ni fecha.

2 Ventas por mes para meses mayores a la fecha seleccionada

sum(if([año aux] >año and [mes aux]>mes,Ventas,0)). A esta tabla SI le pones la dimensión año y mes (en el eje horizontal)

 

Y creas un filtro para año auxiliar y para mes auxiliar (te recomiendo que la del año tenga siempre un valor seleccionado)

 

 

Para crear la dimensión tiempo desde el script:

 

load


date as Fecha,


year(date) as año,


Month(date) as mes,


Day(date) as día,

year(date) & '-' & Month(date) as [Año mes];


load


date(Today()+365*3-RecNo()) as date


AutoGenerate (Today()+365*3-MakeDate(2012)); (Cambiar "Today()+365*3" por la fecha más alta que quieras tener. Podría ser por ejemplo 44196 [Que es 31 diciembre 2020]) en esta línea y la de arriba y cambiar 2012 por el año inicial (más antiguo))