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: 
felipessj
Contributor III
Contributor III

Problemas con Sum Aggr y variable de años anterires

Comunidad,

hace unos días tengo un problema al realizar una sumatoria agrupada por x campos que al no seleccionar ningún año funciona correctamente, pero al seleccionar algún año, el resultado cambia y no me muestra lo que corresponde.

Añado imágenes para entender mejor.

Así se ve el cuadro sin seleccionar Año Factura

imagen1.JPG

y así se el cuadro al seleccionar Año Factura

imagen2.JPG

la formula que ocupo es la siguiente.

  • 2017 aggr
  • vAñoMax=max([Año Factura])

Num(

sum(aggr(fabs(

(sum({<[Año Factura]={$(vAñoMax)},[familia producto]={'1'},proveedor={'a'}, Flag_SS={"1"}>} [tarifa factura $(=Sufijo)]) / vDivisor)

+

(sum({<[Año Factura]={$(vAñoMax)},[familia producto]={'1'},proveedor={'a'}, Flag_SS={"1"}>} [impuesto factura $(=Sufijo)]) / vDivisor)

),

File)),IF(Moneda='CLP', '#.##0', '#.##0,0'))

  • 2016 aggr
  • vAñoMax_m1=vAñoMax-1

Num(

sum(aggr(fabs(

(sum({<[Año Factura]={$(vAñoMax_m1)},[familia producto]={'1'},proveedor={'a'}, Flag_SS={"1"}>} [tarifa factura $(=Sufijo)]) / vDivisor)

+

(sum({<[Año Factura]={$(vAñoMax_m1)},[familia producto]={'1'},proveedor={'a'}, Flag_SS={"1"}>} [impuesto factura $(=Sufijo)]) / vDivisor)

),

File)),IF(Moneda='CLP', '#.##0', '#.##0,0'))

  • 2015 aggr
  • vAñoMax_m2=vAñoMax-2

Num(

sum(aggr(fabs(

(sum({<[Año Factura]={$(vAñoMax_m2)},[familia producto]={'1'},proveedor={'a'}, Flag_SS={"1"}>} [tarifa factura $(=Sufijo)]) / vDivisor)

+

(sum({<[Año Factura]={$(vAñoMax_m2)},[familia producto]={'1'},proveedor={'a'}, Flag_SS={"1"}>} [impuesto factura $(=Sufijo)]) / vDivisor)

),

File)),IF(Moneda='CLP', '#.##0', '#.##0,0'))



Espero me puedan ayudar con esto, de antemano muchas gracias

1 Solution

Accepted Solutions
sunny_talwar

Try this

la formula que ocupo es la siguiente.

  • 2017 aggr
  • vAñoMax=max([Año Factura])


Num(Sum({<[Año Factura] = {$(vAñoMax)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} Aggr(fabs((Sum({<[Año Factura] = {$(vAñoMax)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} [tarifa factura $(=Sufijo)]) / vDivisor)

+

(Sum({<[Año Factura] = {$(vAñoMax)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} [impuesto factura $(=Sufijo)]) / vDivisor)), File)), If(Moneda='CLP', '#.##0', '#.##0,0'))

  • 2016 aggr
  • vAñoMax_m1=vAñoMax-1


Num(Sum({<[Año Factura] = {$(vAñoMax_m1)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} Aggr(fabs((Sum({<[Año Factura] = {$(vAñoMax_m1)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} [tarifa factura $(=Sufijo)]) / vDivisor)

+

(Sum({<[Año Factura] = {$(vAñoMax_m1)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} [impuesto factura $(=Sufijo)]) / vDivisor)),File)), If(Moneda='CLP', '#.##0', '#.##0,0'))

  • 2015 aggr
  • vAñoMax_m2=vAñoMax-2


Num(Sum({<[Año Factura] = {$(vAñoMax_m2)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} Aggr(fabs((Sum({<[Año Factura] = {$(vAñoMax_m2)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} [tarifa factura $(=Sufijo)]) / vDivisor)

+

(Sum({<[Año Factura] = {$(vAñoMax_m2)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} [impuesto factura $(=Sufijo)]) / vDivisor)), File)), If(Moneda='CLP', '#.##0', '#.##0,0'))

View solution in original post

4 Replies
sunny_talwar

Try this

la formula que ocupo es la siguiente.

  • 2017 aggr
  • vAñoMax=max([Año Factura])


Num(Sum({<[Año Factura] = {$(vAñoMax)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} Aggr(fabs((Sum({<[Año Factura] = {$(vAñoMax)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} [tarifa factura $(=Sufijo)]) / vDivisor)

+

(Sum({<[Año Factura] = {$(vAñoMax)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} [impuesto factura $(=Sufijo)]) / vDivisor)), File)), If(Moneda='CLP', '#.##0', '#.##0,0'))

  • 2016 aggr
  • vAñoMax_m1=vAñoMax-1


Num(Sum({<[Año Factura] = {$(vAñoMax_m1)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} Aggr(fabs((Sum({<[Año Factura] = {$(vAñoMax_m1)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} [tarifa factura $(=Sufijo)]) / vDivisor)

+

(Sum({<[Año Factura] = {$(vAñoMax_m1)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} [impuesto factura $(=Sufijo)]) / vDivisor)),File)), If(Moneda='CLP', '#.##0', '#.##0,0'))

  • 2015 aggr
  • vAñoMax_m2=vAñoMax-2


Num(Sum({<[Año Factura] = {$(vAñoMax_m2)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} Aggr(fabs((Sum({<[Año Factura] = {$(vAñoMax_m2)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} [tarifa factura $(=Sufijo)]) / vDivisor)

+

(Sum({<[Año Factura] = {$(vAñoMax_m2)}, [familia producto] = {'1'}, proveedor = {'a'}, Flag_SS = {"1"}>} [impuesto factura $(=Sufijo)]) / vDivisor)), File)), If(Moneda='CLP', '#.##0', '#.##0,0'))

felipessj
Contributor III
Contributor III
Author

Muchas gracias por tu ayuda, funcionó perfectamente.

Pero no lo entiendo muy bien, es como si hicieras el set de análisis afuera de la agrupación que también tiene un set de análisis?

---------------------------------------------------------

Thank you very much for your help, it worked perfectly.

But I do not understand it very well, it is as if you did the analysis set outside the group that also has a set of analysis?

sunny_talwar

Although the inner Aggregation was set to show the Max Year - 1, the outer did not have any set analysis forcing the two (selection and set analysis) to nullify your expression output. By adding the same set analysis on the outer aggregation, we saw the result as expected.

felipessj
Contributor III
Contributor III
Author

genial, muchas gracias por tu ayuda y tu explicación.

---------------------------------------------

Great, thank you very much for your help and your explanation.