Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

davidla_
New Contributor

Acumular tres meses

Hola, podrian ayudarme, necesito hacer un acumulado de los ultimos tres meses del campo de ventas. lo necesito hacer en el script ya que tengo que hacer una tabla simple y dos graficas.

la tabla que tengo actualmente tiene varios campos y lo hace mas complicado.

mi tabla tiene:

Fecha,

Periodo,

Año,

Country,

WBusiness (este campo puede tener diferentes Id, puede ser 100,103,130,120 etc)

ventas

y requiero el acumulado de los tres meses.

ejemplo

CountryPeriodoFechaWbusinesVentasacumulado
mx701/07/20161005,000
mx801/08/20161002,500
mx901/09/20161002,50010,000
mx1001/10/20161002,0007,000

Estaba manejando esta sentencia en la tabla simple mas sin embargo me encontre con dos problemas, no me sirve para las graficas y en la tabla no me totaliza.

=(Sum({$<FY=,[Mes Fiscal]=,[Mes Nombre],[Mes Fiscal Nombre]=,%Key=,%Fecha=,%Fecha={'>=$(=Monthstart(Addmonths(max(%Fecha),-2)))<=$(=Max(%Fecha))'}>}GrossSales )/3)

Gracias y espero puedan ayudarme.

1 Reply
ger_alegria
Contributor

Re: Acumular tres meses

Lo que puedes hacer es una tabla adicional con Flags donde por cada periodo identifique los meses a acumular, por ejemplo:

Periodo     Fecha               Flag_Acumulado

3               01/03/2016          1

3               01/02/2016          1

3               01/01/2016          1

3               01/03/2016          0

4               01/04/2016          1

4               01/03/2016          1

4               01/02/2016          1

4               01/04/2016          0

5               01/05/2016          1

5               01/04/2016          1

5               01/03/2016          1

5               01/05/2016          0

6               01/06/2016          1

6               01/05/2016          1

6               01/04/2016          1

6               01/06/2016          0

La relacionas por medio del campo Fecha y dejas periodo solo en esta última tabla, así cuando en tu expresión incluyas la flag = 1 será acumulado y cuando sea = o no será acumulado.

Community Browser