Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik and ServiceNow Partner to Bring Trusted Enterprise Context into AI-Powered Workflows. Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
elenarelinque
Creator
Creator

Multiplicación

Buenas,

Tengo problemas con una expresión ya que tengo que multiplicar registros y no sumatorios pero no sé como hacerlo, me explico:

elenarelinque_1-1658159192038.png

En la columna resaltada en rojo tengo esta expresión:

(Sum({<[Máquina]={'Anodizado'}>}Personas))*(((Sum({<[Máquina]={'Anodizado'}>}[Horas teoricas])))-(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas por avería]))-
(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas programadas/preventivo])))

 

Básicamente estoy multiplicando la columna (personas) por la columna HORAS PLANIFICADAS menos la columna averías y preventivo.  La cuestión es que el calculo por días lo hace bien pero el sumatorio no, ya que no es lo mismo multiplicar el total de cada columna que sumar las multiplicaciones de cada dia.

 

Gracias de antemano.

 

Un saludo.

 

 

1 Solution

Accepted Solutions
brunobertels
Master
Master

Hi 

unfortunately , difficcult for me to help you further more as data model and mesure seems complex 

want may be about replace sum by avg like this 

AVG(Aggr(Sum({<[FASE_REALIZADA]={'440'},[COD_MAQUINA]={'AN001'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}M2_CONPEPTO),Fecha_Comun))

/AVG( Aggr(

(Sum({<[Máquina]={'Anodizado'}>}Personas))*(((Sum({<[Máquina]={'Anodizado'}>}[Horas teoricas])))-(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas por avería]))-
(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas programadas/preventivo])))

,Fecha_Comun))

 

or this 

avg(aggr(

Sum(Aggr(Sum({<[FASE_REALIZADA]={'440'},[COD_MAQUINA]={'AN001'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}M2_CONPEPTO),Fecha_Comun))

/Sum( Aggr(

(Sum({<[Máquina]={'Anodizado'}>}Personas))*(((Sum({<[Máquina]={'Anodizado'}>}[Horas teoricas])))-(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas por avería]))-
(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas programadas/preventivo])))

,Fecha_Comun))

, Fecha_Comun))

 

View solution in original post

8 Replies
brunobertels
Master
Master

Hi 

May be this 

Sum( Aggr(

(Sum({<[Máquina]={'Anodizado'}>}Personas))*(((Sum({<[Máquina]={'Anodizado'}>}[Horas teoricas])))-(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas por avería]))-
(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas programadas/preventivo])))

,Dia )) 

elenarelinque
Creator
Creator
Author

Thank you so much, I think that is the solution but the problem is that I need to divide the column (PROD(M2)_A.) between the expression that I posted before.

Column  "PROD(M2)_A."= Sum({<[FASE_REALIZADA]={'440'},[COD_MAQUINA]={'AN001'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}BARRAS_ACEPTADAS)

I tried to modify your expression but it's not working:

 

Sum( Aggr(

Sum({<[FASE_REALIZADA]={'440'},[COD_MAQUINA]={'AN001'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}BARRAS_ACEPTADAS)/
(((Sum({<[Máquina]={'Anodizado'}>}Personas))+(Sum({<[Máquina]={'Anodizado'}>}[Personas preproceso])))*(((Sum({<[Máquina]={'Anodizado'}>}[Horas teoricas])))-(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas por avería]))-
(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas programadas/preventivo]))))

,Dia ))

 

Thank you in advance.

brunobertels
Master
Master

hi 

may be it is because this mesure "PROD(M2)_A." is giving 0 for each day (DIA) but gives 31.413 for null dia 

then 0 divided by something will always giving 0 

your first expression was : 

personas * HORAS PLANIFICADAS - averías - preventivo

 

now you want this 

PROD(M2)_A / (personas * HORAS PLANIFICADAS - averías - preventivo) 

So try this : 

 

1 : trying to aggr PROD M2 by Day 

Sum( Aggr(

Sum({<[FASE_REALIZADA]={'440'},[COD_MAQUINA]={'AN001'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}BARRAS_ACEPTADAS) , DIA))

Sum( Aggr(

(Sum({<[Máquina]={'Anodizado'}>}Personas))*(((Sum({<[Máquina]={'Anodizado'}>}[Horas teoricas])))-(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas por avería]))-
(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas programadas/preventivo])))

,Dia )) 

 

2 : trying to avoid dia dimansion in the set analysis mesure for 

Sum({<[Dia]= ,[FASE_REALIZADA]={'440'},[COD_MAQUINA]={'AN001'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}BARRAS_ACEPTADAS)

/

Sum( Aggr(

(Sum({<[Máquina]={'Anodizado'}>}Personas))*(((Sum({<[Máquina]={'Anodizado'}>}[Horas teoricas])))-(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas por avería]))-
(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas programadas/preventivo])))

,Dia )) 

 

3 trying with column function : 

column(3) / (column(4) -column(5) -column(6) )

 

pretty not sure 

elenarelinque
Creator
Creator
Author

Hi! Thank you so much for your help. Actually, I'm not using this table for my analysis I just used this  trying to find the problem eith the expression. I have this graphic:

 

elenarelinque_0-1658235816923.png

 

This is the dimension:  

elenarelinque_1-1658235873132.png

 

For the expression, I tried yours but doens't work exactly. 

In this case I'm mixing datan from 3 different tables:

 

PROD(M2)_A  [TABLE "Datos_Producción"]/ (personas [TABLE "Partes"] * HORAS PLANIFICADAS [TABLE "Partes"]- averías [TABLE "Paradas"]- preventivo[TABLE "Paradas"]) 

Note: PROD(M2)_A = Sum({<[FASE_REALIZADA]={'440'},[COD_MAQUINA]={'AN001'},[Tipo parada]=,[DESC_MAQUINA],[Elemento asociado],[CODIGO_MAQUINA]=,[FASE]=,[Motivo]=>}M2_CONPEPTO)

 

elenarelinque_3-1658236235519.png

With this expression I get data more accurate but not exact:

Sum( Aggr(

Sum({<[FASE_REALIZADA]={'440'},[COD_MAQUINA]={'AN001'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}BARRAS_ACEPTADAS) ,Fecha_Comun))/

Sum( Aggr(

(Sum({<[Máquina]={'Anodizado'}>}Personas))*(((Sum({<[Máquina]={'Anodizado'}>}[Horas teoricas])))-(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas por avería]))-
(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas programadas/preventivo])))

,Fecha_Comun ))

 

In January I get 8, but the correct amount is 13:

elenarelinque_6-1658237058685.png

 

 

This is the correct calculation for 10/01/2022:

PROD(M2)_A  [TABLE "Datos_Producción"]/ (personas [TABLE "Partes"] * HORAS PLANIFICADAS [TABLE "Partes"]- averías [TABLE "Paradas"]- preventivo[TABLE "Paradas"]) 

Productividad= 1.127/(10*(16-8))= 14

elenarelinque_5-1658236758417.png

but I get 12:

 

elenarelinque_7-1658237193033.png

 

Thank you in advance.

 

 

 

 

 

 

 

elenarelinque
Creator
Creator
Author

Thank you so much for your help! Actually I'm not using the table for my analysis I just used this trying to find out the problem with the expression.

I have this graphic for the productivity = PROD(M2)_A / (personas * HORAS PLANIFICADAS - averías - preventivo) 

Note: PROD(M2)_A = Sum({<[FASE_REALIZADA]={'440'},[COD_MAQUINA]={'AN001'},[Tipo parada]=,[DESC_MAQUINA],[Elemento asociado],[CODIGO_MAQUINA]=,[FASE]=,[Motivo]=>}M2_CONPEPTO)

elenarelinque_0-1658237450500.png

Right now I have this dimension:

elenarelinque_2-1658237592970.png

 

and this measure:

Sum( Aggr(

Sum({<[FASE_REALIZADA]={'440'},[COD_MAQUINA]={'AN001'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}BARRAS_ACEPTADAS) ,Fecha_Comun))/

Sum( Aggr(

(Sum({<[Máquina]={'Anodizado'}>}Personas)+Sum({<[Máquina]={'Anodizado'}>}[Personas preproceso]))*(((Sum({<[Máquina]={'Anodizado'}>}[Horas teoricas])))-(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas por avería]))-
(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas programadas/preventivo])))

,Fecha_Comun ))

 

Here I have data from 3 different tables:

elenarelinque_1-1658237535678.png

I modified the expression you posted and it's more accurate but not correct. For January I get 8:

 

elenarelinque_0-1658237450500.png

But it's 13:

elenarelinque_3-1658237797026.png

 

For example, for 10/01/2022 I get 12:

elenarelinque_4-1658237840301.png

 

But the correct calculation is:

Productividad= 1.127 [Producción]/(10[Personas]*(16[Horas planificadas]-8[Preventivo]-0[Averias]))= 14

Thank you in advance!

 

 

 

 

elenarelinque
Creator
Creator
Author

It finally worked with this:


Sum(Aggr(Sum({<[FASE_REALIZADA]={'440'},[COD_MAQUINA]={'AN001'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}M2_CONPEPTO),Fecha_Comun))

/Sum( Aggr(

(Sum({<[Máquina]={'Anodizado'}>}Personas))*(((Sum({<[Máquina]={'Anodizado'}>}[Horas teoricas])))-(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas por avería]))-
(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas programadas/preventivo])))

,Fecha_Comun))

Now, I just have differences in one month (February):

 

elenarelinque_0-1658241580233.png

elenarelinque_1-1658241670625.png

In the file the month is calculated with the average of the days (23,26) and in Qliksense makes the division between the sum of the produccion and the hours (39.736/2.511.83)= 15.82.

 

 

 

brunobertels
Master
Master

Hi 

unfortunately , difficcult for me to help you further more as data model and mesure seems complex 

want may be about replace sum by avg like this 

AVG(Aggr(Sum({<[FASE_REALIZADA]={'440'},[COD_MAQUINA]={'AN001'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}M2_CONPEPTO),Fecha_Comun))

/AVG( Aggr(

(Sum({<[Máquina]={'Anodizado'}>}Personas))*(((Sum({<[Máquina]={'Anodizado'}>}[Horas teoricas])))-(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas por avería]))-
(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas programadas/preventivo])))

,Fecha_Comun))

 

or this 

avg(aggr(

Sum(Aggr(Sum({<[FASE_REALIZADA]={'440'},[COD_MAQUINA]={'AN001'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}M2_CONPEPTO),Fecha_Comun))

/Sum( Aggr(

(Sum({<[Máquina]={'Anodizado'}>}Personas))*(((Sum({<[Máquina]={'Anodizado'}>}[Horas teoricas])))-(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas por avería]))-
(Sum({<[Máquina]={'Anodizado'},[Tipo parada]=,[DESC_MAQUINA]=,[Elemento asociado]=,[CODIGO_MAQUINA]=,[FASE]=>}[Paradas programadas/preventivo])))

,Fecha_Comun))

, Fecha_Comun))

 

elenarelinque
Creator
Creator
Author

Thank you so much! You have been very helpful, I really appreciate it.